Laravel Eloquent嵌套条件

时间:2013-06-02 16:25:41

标签: php laravel laravel-4 eloquent

在Laravel中使用Eloquent时,我有一个关于嵌套wheres的小问题。 所以这就是我现在的代码:

    $journeys = Journey::with(array('user', 'photo' => function($query){
        $query->where('thumb', '=', '1');
    }))->where('display', '=', '1')->orderBy('created_at', 'desc')->take(4)->get();

有了这个,我可以循环旅程,即使没有达到嵌套条件,照片也没有显示,因为没有拇指。

我只想展示拇指是1的照片。这可能是Eloquent吗?

提前谢谢!

1 个答案:

答案 0 :(得分:1)

你可以根据泰勒最近的提交来实现这一点:https://github.com/laravel/framework/issues/2435#issuecomment-27525982

例如,如果您创建一个名为withThumbs的新关系,则可以对关系应用约束以仅加载所需的旅程:

public function withThumbs()
{
    return $this->hasMany('Photo')->whereThumb("1");
}

这应该只加载你所追求的旅程。