Laravel通过两个同名字段

时间:2016-11-06 22:05:58

标签: php laravel eloquent sql-order-by

我有两张桌子“公司”和“属性” 在Property类中定义了一个关系:return $ this-> belongsTo(Company :: class); 我运行这个雄辩的查询来获取公司的所有属性

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

我不知道的是我如何首先orderBy Company.name然后orderBy property.name?如果我这样做:orderBy('company.name')我将收到一个错误。 任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

您可以将join()用作:

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