Yii2 数据提供者如何返回过去 24 小时的结果
Posted
技术标签:
【中文标题】Yii2 数据提供者如何返回过去 24 小时的结果【英文标题】:How Yii2 data provider can return results for last 24h 【发布时间】:2015-07-09 22:18:18 【问题描述】:我只需要在 updated_at 字段不早于 24 小时的情况下从数据库表中返回结果。
在我的索引操作中,我有以下代码:
$dataProvider = new ActiveDataProvider([
'query' => SearchStats::find(),
'pagination' => [
'pageSize' => 10,
],
]);
如何修改此代码以返回过去 24 小时内插入/更新的结果?
updated_at
是整数,我使用的是TimestampBehavior
。
【问题讨论】:
【参考方案1】:将您的查询更改为:
use yii\db\Expression;
SearchStats::find()
->where(['>=', 'updated_at', new Expression('UNIX_TIMESTAMP(NOW() - INTERVAL 1 DAY)')])
相关链接:
Related question on SO Using where with ActiveQuery yii\db\Expression【讨论】:
我现在没有任何结果,今天有记录o.O 您能说明updated_at
是如何存储的吗?一个值的例子就足够了。
整数(11):1430386702
如果我将 NOW()
更改为 CURDATE()
它可以工作......我不知道为什么
我根据你的情况更新了问题。但我认为对于此类数据,使用timestamp
或datetime
等日期格式会是更好的选择。以上是关于Yii2 数据提供者如何返回过去 24 小时的结果的主要内容,如果未能解决你的问题,请参考以下文章
检查自 Woocommerce 订单下达以来是不是已过去 24 小时