0
我有一个名为menus.I的表,我想要检索其子菜单的菜单。但只有父菜单正在检索.Child菜单结果是一个空的数组。 我的表结构是:id | parent_id |名称。 我的菜单模式一对多的关系是:如何与Laravel 5中的同一张桌子建立一对多的关系?
public function childMenus() {
return $this->hasMany(‘App\Menu’, ’parent_id’);
}
public function parentMenus() {
return $this->belongsTo(‘App\Menu’, ‘parent_id’);
}
My controller Method:
public function index()
{
$menu = new Menu;
$parent_menus = $menu->where('parent_id', NULL)->get();
$sub_menus = $menu->childMenus()->get();
return View('admin',compact('$parent_menus’, ‘sub_menus’);
}
当我下潜转储sub_menus DD($ sub_menus)它返回一个空数组。 请任何人帮忙。 在此先感谢。
谢谢您的回答。实际上,我的数据库有其子菜单的父菜单。当我dd($ parent_menus);它会返回结果,但是当我为子菜单执行相同操作时,它会给出空的结果。 –
这是因为您错误地加载了子菜单。你需要像上面例子那样通过父菜单对象来访问它们,或者如果你只想在一个变量中使用所有子菜单,请参阅更新回答 –
感谢您的帮助。实际上,我并没有通过父对象检索子菜单。现在工作。再次感谢 –