【发布时间】:2016-02-01 01:34:37
【问题描述】:
在我的菜单控制器中,我有一个方法应该显示指定的记录及其所有子记录。
我有两个模型:MenuItem 和 MenuVariation,我的项目将有很多变化,如我的方法中所述:
MenuItem 模型
public function variant()
{
return $this->hasMany('App\MenuVariation');
}
MenuVariation 模型
public function item()
{
return $this->belongsTo('App\MenuItem', 'menu_item_id');
}
现在在我的控制器中,我有以下方法:
public function show($id)
{
$item = MenuItem::findOrFail($id);
return $item;
}
...目前只显示项目记录但不显示其变化,所以我已经更改了这样的代码...
public function show($id)
{
$item = MenuItem::findOrFail($id)->with('variant')->get();
return $item;
}
但这奇怪地返回所有项目及其变体。
有人可以帮我按需要完成这项工作吗?我仍想在 Item 记录上使用 FindOrFail,但它也应该检索任何变体(如果找到)。
【问题讨论】: