![](/img/trans.png)
[英]Use order by in pivot table data in Laravel's Eloquent ORM
[英]Order data by pivot table when try to use With
我有桌子Polfzms <- Genes
Polfzm
模型有下一個關系
public function gene()
{
return $this->belongsTo('App\Gene');
}
我需要從Polfzms
表中獲取所有數據,並從Genes
表中獲取數據,並從數據透視表( Genes
)中按name
對其進行排序。 我接下來嘗試
$data = Polfzm::with([
'gene' => function ($query) {
$query->orderBy('name', 'asc');
},
])->get();
但不會按名稱排序數據。 我該怎么做?
您可以嘗試在關系定義中進行設置:
Polfzm.php
public function gene()
{
return $this->belongsTo('App\Gene')->orderBy('name', 'asc');
}
然后在您的控制器中:
$data = Polfzm::with('gene')->get();
如果我理解正確,則可以sortBy
使用一個sortBy
集合幫助器。
例如:
$data = Polfzm::with('gene')
->get()
->sortBy(function ($polfzm) {
return $polfzm->gene->name;
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.