Laravel Красноречивый с `has` и` where` на датах - PullRequest
0 голосов
/ 16 октября 2018

Я пытаюсь получить записи по отношению, когда есть только одна запись в отношении один ко многим, и только записи, где start_date больше, чем сейчас (), и вот что я пытаюсь:

$newStarters = User::has('periods', 1)->with(['periods' => function($q) {
            $q->where('start_date', '>', Carbon::now()->subWeek(2)->format('Y-m-d') );
        }])->get();

в этом случае фильтр даты не применяется.

Каков правильный способ сделать это?

1 Ответ

0 голосов
/ 16 октября 2018

Возможно, вы ищете это:

$newStarters = User::whereHas('periods',  function($q) {
            $q->where('start_date', '>', Carbon::now()->subWeek(2)->format('Y-m-d') );
        }, '=', 1)->get();

Подробнее см. Наличие отношения запроса .

...