不确定这是否是向hasMany参数添加其他查询但是不成功的正确方法。这可能吗?
public function menuItems($parent=false){
if($parent){
$menuItems = $this->hasMany('MenuItem')->where('parent',$parent);
}else{
$menuItems = $this->hasMany('MenuItem');
}
return $menuItems;
}
使用
调用时$menu_items = $menu->menuItems(0);
这似乎在传递父级时返回一个空数组。即使MenuItem-> parent = 0的数据存在
我是否需要以某种方式区分我要求我的链接项“父母”而不是主要模型“父母”
答案 0 :(得分:13)
public function menuItems(){
return $this->hasMany('MenuItem');
}
用
调用$menu_items = $menu->menuItems()->where('parent', 0)->get();
答案 1 :(得分:1)
我不确定查询部分,但最初不会将0传递给函数仍然将$ parent变量注册为false?所以也许只检查$ parent是否为空。
public function menuItems($parent = null){
if(!$parent == null)){
$menuItems = $this->hasMany('MenuItem')->where('parent',$parent);
}else{
$menuItems = $this->hasMany('MenuItem');
}
return $menuItems;
}
答案 2 :(得分:-1)
在PHP 0 = FALSE 中,更改此
if($ parent){
这个
if($ parent!== false){