2013-06-02 8 views
1

У меня есть маленький вопрос о вложенных wheres при использовании Eloquent в Laravel. Так это код, я прямо сейчас:Laravel Eloquent Вложенное состояние

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

С этим я могу цикл в путешествии, даже если вложенное условие не выполняется, и фото не показывают, потому что нет большого пальца.

Я только хочу показать поездки с фотографиями, где большой палец 1. Возможно ли это с Красноречивым?

Спасибо заранее!

+0

Боюсь, что мой ответ был неправильным. Удалил. – Franz

ответ

1

Вы можете сделать это произошло на основе совсем недавно совершить Тейлором: https://github.com/laravel/framework/issues/2435#issuecomment-27525982

Если создать новые отношения под названием withThumbs, например, вы можете применить ограничения на отношения, чтобы загрузить только нужные путешествия:

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

Это должно только загружать ваши путешествия.