使用 Yii CDbCriteria 获取特定月份的日期

Use Yii CDbCriteria to get dates with a specific month

您好,我想知道我们是否可以使用 CDbCriteria 获取基于特定月份日期的数据。假设我需要在 5 月创建的所有条目,我有一个列 paid_on,所以当我 select May(05) 时,我需要获取所有以 05 为月份的条目 xxxx-05-xx。我用 Yii create db 命令得到了这个

$monthno = date('m',strtotime($_POST['month']));
$sql     = "SELECT * FROM fee_track WHERE DATE_FORMAT(paid_on,'%m') = ".$monthno."";
$data    = Yii::app()->db->createCommand($sql)->queryAll();

我需要知道我是否可以用 CDbCriteria 做同样的事情。谢谢!

尝试使用此代码

$criteria = new CDbCriteria();
$criteria->condition = "DATE_FORMAT(paid_on,'%m')=:monthno";
$criteria->params = array(':monthno'=>'05');
$model= YourModel::model()->findAll($criteria);

我认为这会对你有所帮助:)

您可以像这样将 conditionCDbCriteria() 一起使用,它应该适合您。

$monthno = date('m',strtotime($_POST['month']));

$criteria = new CDbCriteria();
$criteria->select="*";
$criteria->condition = "DATE_FORMAT(paid_on,'%m')=:monthno";
$criteria->params = array(':monthno'=>$monthno);
$modelResult= Yii::app()->db->commandBuilder->createFindCommand(fee_track,$criteria)->findAll();

echo '<pre>';
print_r($model);
echo '</pre>';

编辑:根据评论

$modelResult= YourModel::model()-
 >findAll($criteria);