6

不确定这是否是向 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 的数据

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

4

3 回答 3

16
public function menuItems(){
        return $this->hasMany('MenuItem');
}

调用

$menu_items = $menu->menuItems()->where('parent', 0)->get();
于 2013-06-28T17:11:10.087 回答
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;
}
于 2013-06-28T10:55:07.273 回答
-2

在 PHP0 = FALSE中,改变这个

if( $parent ){

为了这

if( $parent !== false ){
于 2014-07-17T04:33:16.707 回答