YII2 活动记录查询每周获取记录

YII2 Active Record Query Get Records Weekly

根据 date_received 列,假设星期一为一周的第一天,我正在尝试每周获取记录。

这个原始查询的等效活动记录查询应该是什么?

$week = $connection->createCommand('SELECT * FROM dts_document WHERE date_received > DATE_SUB(NOW(), INTERVAL 1 WEEK)');

我尝试了以下但它 returns 整个记录。

$week = DtsDocument::find()->where(['>','date_received', 'DATE_SUB(NOW(), INTERVAL 1 MONTH)'])->count();

yii\db\Expression 包裹 DATE_SUB 部分以防止引用:

use yii\db\Expression;

...

$week = DtsDocument::find()
    ->where(['>', 'date_received', new Expression('DATE_SUB(NOW(), INTERVAL 1 MONTH)')])
    ->count();