我正在保存/更新模型并使用刷新()方法来输出新数据。
Laravel 文档说:
如果您计划在使用 save 或 saveMany 方法后访问关系,您可能希望使用刷新方法重新加载模型及其关系
控制器
public function store()
{
//
$comic = new Comic;
$comic->fill($this->validateComic());
$comic->save();
return $comic->refresh();
}
public function update(Comic $comic)
{
//
$comic->fill($this->validateComic());
$comic->save();
return $comic->refresh();
}
模型
在漫画模型中,我定义了默认的急切加载:
protected $with = ['series', 'series.publisher'];
这非常适合简单的 GET 方法。但如果我保存模型并对其使用刷新() ,输出就会失去其关系。
store() 和 update() 方法的行为也不同。store ()方法没有给我任何关系。update ()方法仅返回系列关系(但不返回嵌套关系)。
这是一个错误还是我在文档中遗漏了某些内容?
谢谢。
示例数据
{
"comic_id":21,
"series_id":5,
"comic_issue":"2",
"comic_name":"Test after 6",
"status_id":1,
"comic_rating":null,
"comic_release_date":"2015-09-26",
"comic_read_date":null,
"comic_summary":"Summary 5",
"created_at":"2020-08-07T17:28:14.000000Z",
"updated_at":"2020-08-08T17:14:16.000000Z",
"series":
{
"series_id":5,
"series_name":"Assumenda consectetur.",
"publisher_id":4,
"release_date":null,
"publisher":
{
"publisher_id":4,
"publisher_name":"Aliquam earum."
}
}
}
慕无忌1623718