gpt4 book ai didi

Yii2 ActiveRecord 中关系数据的 ORDER BY

转载 作者:行者123 更新时间:2023-12-02 04:02:54 26 4
gpt4 key购买 nike

我的 Controller 中有一个查询:

$model = Object::find()->where(['id' => $id])->with(['backups'])->one();

getBackups 是一个 hasMany() 关系,因此 $model 返回多个“备份”。

有办法订购“备份”吗?

我已尝试以下操作,但没有结果(或错误):

 $model = Object::find()
->where(['id' => $id])
->with(['backups' => function($query) {
$query->orderBy(['updated_at' => SORT_DESC]);
}])
->one();

最佳答案

您可以在Object模型中使用orderBy声明排序关系backups:

public function getSortedBackups()
{

return $this->hasMany(Backup::className(), ['object_id' => 'id'])->orderBy(['backups.updated_at'=>SORT_DESC]);
}

输出这些备份时结束:

foreach($model->sortedBackups as $backup){
...
}

关于Yii2 ActiveRecord 中关系数据的 ORDER BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29723758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com