我有一个简单的关系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]);
});
}
但现在它返回一个空数组。
答案 0 :(得分:20)
我认为您可以直接分配订单
$('#checkusername').keyup(function() {
var username = $('#checkusername').val();
$.ajax({
url: 'usernamecheck-validate.php',
type: 'POST',
data: {checkusername: username},
success: function(data){
$('.status').html(data);
}
});
});
答案 1 :(得分:0)
使用像.......
public function getPrices()
{
return $this->hasMany(Prices::className(), ['device_id' => 'id'])
->orderBy(['device_price' => SORT_DESC]);
}
答案 2 :(得分:0)
在特定情况下,直接关联设置顺序可能不可靠。因此,您可以在AR查询中设置顺序
Device::find()
->where(['id' => $id])
->with('prices' => function(\yii\db\ActiveQuery $query) {
$query->orderBy('device_price DESC');
})
->one();