У меня есть many to many
отношение между двумя таблицами, например, lecture
и students (users)
.
Теперь, если lecture
является приватным или ограниченным для приглашенных пользователей, только в таблице lecture_student
есть записи в это с student_id
.
lecture_student
имеет student_id
и ключи 'lecture_id'.
Так что, если лекция ограничена некоторыми студентами, то lecture_student
будет иметь список всех user_id
строки в нем, иначе он открыт для всех.
Когда пользователь входит в систему, я отображаю список Lectures
, используя следующий запрос
Lecture::where('user_id', '<>',$logged_in_user->id)
->futureLectures() // query scope defined for future lectures only
->get()
Как получить лекцию для студента куда он или она приглашены и также открыты для всех?
Приведенный выше запрос дает мне все лекции о погоде student
приглашается на это lecture
или нет.
Я пытался whereHas
но это не работает, потому что lecture_student
таблица имеет запись только в случае, если lecture
ограничено для некоторых пользователей, в случае открытия lecture
, lecture_student
не имеет строки.
Спасибо