2016-08-26 2 views
2

Я пытаюсь получать записи в неделю в понедельник в качестве первого дня недели в соответствии с столбцом date_received.YII2 Active Record Query Get Records Weekly

Какой должен быть эквивалентный активный запрос записи для этого необработанного запроса?

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

Я пробовал следующее, но он возвращает всю запись.

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

ответ

2

Wrap DATE_SUB часть с yii\db\Expression для предотвращения процитировать:

use yii\db\Expression; 

... 

$week = DtsDocument::find() 
    ->where(['>', 'date_received', new Expression('DATE_SUB(NOW(), INTERVAL 1 MONTH)')]) 
    ->count(); 
Смежные вопросы