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

时间:2015-05-15 16:03:10

标签: php yii

您好我想知道我们是否可以使用CDbCriteria根据特定月份的日期获取数据。假设我需要在5月份创建的所有条目,我有一个列paid_on所以当我选择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做同样的事情。谢谢!

2 个答案:

答案 0 :(得分:0)

尝试使用此代码

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

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

答案 1 :(得分:0)

您可以将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);