cha*_*ang 9 mysql activerecord yii2
假设我在yii2中有表A及其活动记录,可以将具有最大创建日期的记录加载到模型的最佳方法是什么.
这是查询:
select *
from A
where created_date = (
select max(created_date) from A
)
Run Code Online (Sandbox Code Playgroud)
现在我首先获得最大日期,然后在另一个数据库访问中使用它,即:
$max = A::find()->select("created_date)")->max();
$model = A::find()->where("created_date = :date",[":date"=>$max])->one();
Run Code Online (Sandbox Code Playgroud)
我确信这可以通过一次访问数据库来完成,但我不知道如何.
请任何帮助.
top*_*her 16
您的查询相当于:
SELECT * FROM A ORDER BY created_date DESC LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
您可以按created_date降序订购记录并获得第一条记录,即:
$model = A::find()->orderBy('created_date DESC')->limit(1)->one();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19089 次 |
| 最近记录: |