Laravel 7 DB query. Как получить записи с связью belongsToMany

Пример запроса

$events = DB::table("events")
    ->where('published_at', '<>', null)
    ->where('end_at', '>=', Carbon::now())
    ->join('event_event_type', 'event_event_type.event_id', '=', 'events.id')
    ->join('event_types', 'event_types.id', '=', 'event_event_type.event_type_id')
    ->select("events.id", "events.name", DB::raw("NULL as organizer"), 'event_types.name as type_names')->get();

Использую DB запрос, так как нужно обьеденить несколько таблиц (union) с разными полями. Если использую join в даном запросе - получаю связаные записи, но так как их 2 (у событие два типа) - получаю две записи одного и того же события с разными типами. Нужно както вывести одну запись с масивом из двух связаных типов или стрингу с джойнами имен этих типов. Запрос нужно будет еще и сортировать.


Ответы (0 шт):