您好我想知道我们是否可以使用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做同样的事情。谢谢!
答案 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)
您可以将condition
与CDbCriteria()
这样使用,它应该适合您。
$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);