У меня есть 3 модели: contracts
, centers
и user_centers
.
Отношение между contracts
и centers
составляет от 1 до N (1 центр имеет N контрактов)
А соотношение между centers
и user_centers
, равным 1 центру, имеет N user_centers
.
Я пытаюсь найти функцию, которая возвращает контракты путем фильтрации по user_id
(user_centers
таблица)
Для этого я делаю следующее
$query = Contract::query();
$user_id = $request->query('userId');
$query->when(request('user_id'), function ($q) use ($user_id) {
$q->whereHas('centers.user_centers', function ($q) use ($user_id) {
$q->where('user_id', $user_id);
});
});
Это не работает, и я не знаю, не понял ли я отношения или красноречиво.
Спасибо