Laravel 4有许多WHERE子句

kil*_*zzy 6 laravel laravel-4

不确定这是否是向hasMany参数添加其他查询但是不成功的正确方法.这可能吗?

public function menuItems($parent=false){
    if($parent){
        $menuItems = $this->hasMany('MenuItem')->where('parent',$parent);
    }else{
        $menuItems = $this->hasMany('MenuItem');
    }
    return $menuItems;
}
Run Code Online (Sandbox Code Playgroud)

使用时调用

$menu_items = $menu->menuItems(0);
Run Code Online (Sandbox Code Playgroud)

这似乎在传递父项时返回一个空数组.即使存在MenuItem-> parent = 0的数据

我是否需要以某种方式区分我要求我的链接项"父"而不是主要模型"父"

kil*_*zzy 14

public function menuItems(){
        return $this->hasMany('MenuItem');
}
Run Code Online (Sandbox Code Playgroud)

叫着

$menu_items = $menu->menuItems()->where('parent', 0)->get();
Run Code Online (Sandbox Code Playgroud)