Чтобы отфильтровать строки из базы данных, которая имеет определенную связь, вы можете использовать функцию whereHas()
для QueryBuilder Instance
.
$mosques = Mosque::whereHas('events')
->orWhereHas('activities')
->get();
Эта функция вернет только mosques which has activities or events
, другие mosques
не будутfetch.
Также, если вам нужны только name
и image
, вы также можете отфильтровать их
$mosques = Mosque::whereHas('events')
->orWhereHas('activities')
->get(['name','image']);