Я использую Laravel's (5.3) Eloquent ORM и пытаюсь фильтровать с помощью сводной таблицы. У меня три таблицы: events
, supervisors
и event_has_supervisors
. Теперь я просто хочу, чтобы все события назначались определенному супервизору.Использовать Яркость для фильтрации по сводной таблице в Laravel 5.3
В моей модели событий я получил это:
public function supervisors() {
return $this->belongsToMany(Supervisor::class, 'event_has_supervisors')->withPivot('hours');
}
В моем контроллере теперь мне нужно запросить все события, учитывая несколько критериев:
$events = Event::with($relations);
// This works well: get all Events in one or more given cities
$events = $events->whereIn('events.place_id', $cities);
// This does not work
$events = $events->whereIn('events.supervisor_id', $supervisors);
Очевидно, что последнее, где придаточного Безразлично 't работать, потому что такого атрибута в моей таблице событий нет. Но как я могу запросить свою сводную таблицу в этом случае? Я хочу, чтобы любой из супервизоров, назначенных на мероприятие, был одним из руководителей в $supervisors
.
Работал отлично, спасибо. Единственное, что мне пришлось внести, это столбец «supervisor_id», потому что я использую его в обеих таблицах и получил ошибку «неоднозначное имя столбца». – user1068464