У вас есть отношение, где каждая единица может быть связана с франшизой.Вы можете использовать LEFT JOIN
, чтобы использовать таблицу в качестве отправной точки и, при желании, совпадать с другой.Если отношение не совпадает, столбцы второго запроса будут пустыми.
Как таковой, ваш запрос возвращает все франшизы, которые относятся к единице.Вы можете сделать это отношение необязательным.
DB::table('franchises')
->leftJoin('units', 'franchises.id', '=', 'units.franchise_id')
->orderBy('units.created_at', 'desc')->paginate(20);
Но так как вы назвали свою переменную unit
, а также сортируете результаты запроса по units.created_at
, я думаю, что вы хотите вытащить все единицы, с опциейсоответствующая франшиза.Если это так, вы должны LEFT JOIN
наоборот:
DB::table('units')
->leftJoin('franchises', 'franchises.id', '=', 'units.franchise_id')
->orderBy('units.created_at', 'desc')
->paginate(20);