1

在 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 实现吗?

先感谢您!

4

1 回答 1

1

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

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

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

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

于 2013-11-15T10:11:17.647 回答