[英]Sort hasMany relation in Yii2
我有一個簡單的關系1:N從單一模型中獲得一些價格。
public function getPrices()
{
return $this->hasMany(Prices::className(), ['device_id' => 'id']);
}
但我需要價格對象按特定屬性排序,在這種情況下$value
我在Yii 1
看過多個例子,但在Yii 2
沒有
感謝@vishu我試過這個:
public function getPrices()
{
return $this->hasMany(Prices::className(), ['device_id' => 'id'])
->viaTable(Prices::tableName(), ['device_id' => 'id'], function ($query) {
$query->orderBy(['device_price' => SORT_DESC]);
});
}
但現在它返回一個空數組。
我認為您可以直接分配訂單
public function getPrices()
{
return $this->hasMany(Prices::className(), ['device_id' => 'id'])->
orderBy(['device_price' => SORT_DESC]);
}
使用像.......
public function getPrices()
{
return $this->hasMany(Prices::className(), ['device_id' => 'id'])
->orderBy(['device_price' => SORT_DESC]);
}
在特定情況下,直接相關地設置順序可能不可靠。 因此,您可以在AR查詢中設置順序
Device::find()
->where(['id' => $id])
->with('prices' => function(\yii\db\ActiveQuery $query) {
$query->orderBy('device_price DESC');
})
->one();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.