Данные отношения фильтра Laravel по другим данным отношений - PullRequest
0 голосов
/ 02 марта 2019

Я пытаюсь отфильтровать данные моего tickets.tips.drawDates по столбцу другого отношения ( results.draw_date ) в запросе с активной загрузкой.Кто-нибудь есть какие-либо советы о том, как этого добиться?

$products = Product::with([
        'results' => function ($query) use ($drawDates) {
            return $query->whereBetween('draw_date', $drawDates);
        },
        'tickets' => function ($query) use ($drawDateFrom) {
            return $query->whereDate('valid_until', '>=', $drawDateFrom)->where('status', 'pending');
        },
        'tickets.tips',
        'tickets.tips.drawDates' => function($query) {
            return $query->whereNull('status')->whereDate('draw_date', 'HERE SHOULD BE draw_date COLUMN FROM results RELATION');
        },
        'prizes'
    ])->get();

1 Ответ

0 голосов
/ 03 марта 2019

Вы можете попробовать с функцией whereColumn(), она используется для проверки того, что два столбца равны, что-то вроде этого:

return $query->whereNull('status')->whereColumn('draw_date', 'results.draw_date');
...