当有一个雄辩的关系时,你会得到如下关系:
$page->photos->toArray();
。
但我希望订购关系。怎么样?
$page->photos->orderBy('order')->toArray();
现在有效:Call to undefined method Illuminate\Database\Eloquent\Collection::orderBy()
答案 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的示例)