Фильтровать элементы, считая их отношения Laravel5 - PullRequest
0 голосов
/ 07 декабря 2018

У меня есть две таблицы, типичная основная деталь, и я собираюсь получить записи мастера, в то время как регистрационный номер, полученный посредством отношения отношения, больше, чем n

I 'я делал это до сих пор

Master::withTrashed()
->with('details')
->withCount(['details' => function ($query) {

    $query->whereDate('date_init', '<', Carbon::now()->toDateString()); 
}]);

, с этим я получаю мастер и его детали с заданными условиями, но есть учителя, которые считают количество отношений 0, которое я хочу игнорировать.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Вы ищете следующий запрос:

Master::withTrashed()
    ->with(['details' => function ($query) {
        $query->whereDate('date_init', '<', now());
    }])
    ->whereHas('details', function ($query) {
        $query->whereDate('date_init', '<', now());
    })
    ->get();

Запрос буквально означает:

Дайте мне все Masters, а также удаленные, которые имеютхотя бы один прикрепленный Detail с датой инициализации в прошлом.Также стремимся загрузить все подключенные Details, которые были инициализированы в прошлом.

0 голосов
/ 07 декабря 2018
Master::withTrashed()
->has('details')
->with('details')
->withCount(['details' => function ($query) {

    $query->whereDate('date_init', '<', Carbon::now()->toDateString()); 
}]);

Исправлено, где нужно иметь, как указал Намошек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...