У меня есть 4 таблицы:
уведомления (id, title, des c, is_published)
notices_to_districts (id, note_id, district_id)
notices_to_employees (id, note_id, user_id)
notices_to_establishments (id, note_id, creation_id)
I хотите получить все уникальные уведомления, если
notices_to_districts имеет указанный c district_id, или
notices_to_employees имеет указанный c user_id или
notices_to_establishments имеет спецификацию c creation_id
Я пытаюсь -
$notices = Notice::join('notices_to_districts', 'notices_to_districts.notice_id', '=', 'notices.id')
->join('notices_to_establishments', 'notices_to_establishments.notice_id', '=', 'notices.id')
->join('notices_to_employees', 'notices_to_employees.notice_id', '=', 'notices.id')
->where('district_id', '=', $user_district_id)
->orWhere('establishment_id', '=', $user_establishment_id)
->orWhere('user_id', '=', $user_id)
->where('is_published', '=', 1)->get();