在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吗?
提前谢谢!
答案 0 :(得分:1)
你可以根据泰勒最近的提交来实现这一点:https://github.com/laravel/framework/issues/2435#issuecomment-27525982
例如,如果您创建一个名为withThumbs
的新关系,则可以对关系应用约束以仅加载所需的旅程:
public function withThumbs()
{
return $this->hasMany('Photo')->whereThumb("1");
}
这应该只加载你所追求的旅程。