我有桌子Polfzms <- Genes
Polfzm
模型具有下一个关系
public function gene()
{
return $this->belongsTo('App\Gene');
}
我需要从Polfzms
表中获取所有数据,并从Genes
表中获取数据,并通过name
从数据透视表(Genes
)中对其进行排序。我接下来尝试
$data = Polfzm::with([
'gene' => function ($query) {
$query->orderBy('name', 'asc');
},
])->get();
,但不按名称排序数据。我该怎么办?
答案 0 :(得分:0)
您可以尝试在关系定义中进行设置:
Polfzm.php
public function gene()
{
return $this->belongsTo('App\Gene')->orderBy('name', 'asc');
}
然后在您的控制器中:
$data = Polfzm::with('gene')->get();
答案 1 :(得分:0)
如果我的理解正确,那么您可以为此使用集合sortBy
助手。
一个例子可能是:
$data = Polfzm::with('gene')
->get()
->sortBy(function ($polfzm) {
return $polfzm->gene->name;
});