Laravel Eloquent订单关系

时间:2014-12-30 10:03:04

标签: laravel laravel-4 eloquent

当有一个雄辩的关系时,你会得到如下关系:

$page->photos->toArray();

但我希望订购关系。怎么样?

$page->photos->orderBy('order')->toArray();现在有效:Call to undefined method Illuminate\Database\Eloquent\Collection::orderBy()

2 个答案:

答案 0 :(得分:3)

通过调用关系的方法,您可以获得关系对象,您可以在其上运行进一步的查询。现在你正在使用动态属性来获得关系的结果

$page->photos()->orderBy('order')->get()->toArray();

答案 1 :(得分:3)

您可以使用关系方法将返回的关系用作构建器对象。

$page->photos()->orderBy('order')->get();

$page->photos()返回一个关系类型对象,$page->photos是加载关系并返回结果的动态属性。在这种情况下,Eloquent\Collection

Docs - Eloquent - Dynamic Properties

如果需要,您也可以在急切加载时订购此关系。

Eager Loading Constraints(有一个在文档中使用orderBy的示例)