2016-11-06 2 views
0

У меня есть две таблицы «Компании» и «Свойства» . Определены отношения в классе свойств: return $ this-> belongsTo (Company :: class); я запускаю этот красноречивый запрос, чтобы получить все свойства с компаниямиLaravel eloquent orderby два поля с тем же именем

$properties=Property::with('company')->orderBy('name')->get(); 

Что я не могу понять, как я OrderBy Company.name первый, а затем OrderBy property.name? Если я это сделаю: orderBy ('company.name'), я получу ошибку. Любая помощь будет высоко оценена.

ответ

1

Вы можете использовать join() как:

$properties = Property::join('companies', 'properties.company_id', '=', 'companies.id') 
         ->orderBy('companies.name') 
         ->orderBy('properties.name') 
         ->select('properties.*') 
         ->with('company') 
         ->get(); 
+0

работал большой. Я попытался join(), но я делал это после функции(), это не сработало для меня. – Guntar

+0

С удовольствием: D –