Mysql 框架日期范围
如果FROM_date:2015-02-05和to_date:2015-02-10在gridview中仅显示日期为05,06,07,08,09且仅日期为10-02的数据,我在Yii中查找日期范围时遇到问题,但该数据未显示。 在另一种情况下,如果我希望搜索一个从2015-02-21到2015-02-21的日期范围,则应显示日期为2015-02-21的数据 如何解决这个问题?一个如何应该是正确的代码 模型Mysql 框架日期范围,mysql,date,yii,Mysql,Date,Yii,如果FROM_date:2015-02-05和to_date:2015-02-10在gridview中仅显示日期为05,06,07,08,09且仅日期为10-02的数据,我在Yii中查找日期范围时遇到问题,但该数据未显示。 在另一种情况下,如果我希望搜索一个从2015-02-21到2015-02-21的日期范围,则应显示日期为2015-02-21的数据 如何解决这个问题?一个如何应该是正确的代码 模型 谢谢您可以使用以下代码搜索日期范围 if((isset($this->from_date
谢谢您可以使用以下代码搜索日期范围
if((isset($this->from_date) && trim($this->from_date) != "") && (isset($this->to_date) && trim($this->to_date) != "")){
$criteria->condition = ' create_date>="'.date("Y-m-d",strtotime($this->from_date)).'" AND create_date<="'.date("Y-m-d",strtotime($this->to_date)).'"';
}
使用上述代码后,您的代码看起来:
public function search()
{
$criteria=new CDbCriteria;
if((isset($this->from_date) && trim($this->from_date) != "") && (isset($this->to_date) && trim($this->to_date) != "")){
$criteria->condition = ' create_date>="'.date("Y-m-d",strtotime($this->from_date)).'" AND create_date<="'.date("Y-m-d",strtotime($this->to_date)).'"';
}
$criteria->compare('user_id',$this->user_id);
$criteria->compare('lokasi',$this->lokasi,true);
$criteria->compare('satisfy_val',$this->satisfy_val,true);
$criteria->compare('create_date',$this->create_date,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>array('create_date DESC',)),
'pagination'=>array(
'PageSize'=>150
),
));
}
感谢您的帮助和回复。我试过你创建的代码,但结果是一样的,奇怪的是,如果你的代码被放在$criteria->compare'create_date',$this->create_date,true;搜索日期范围与“开始日期”和“结束日期”不同,运行良好,但按用户和lokasi分组不起作用。具有相同起始日期和结束日期的另一个条件不起作用。如何解决此问题?from_date和to_date是数据库中独立的列字段?否,仅创建_date列,from_date和to_date是一个变量。现在,问题解决了
public function search()
{
$criteria=new CDbCriteria;
if((isset($this->from_date) && trim($this->from_date) != "") && (isset($this->to_date) && trim($this->to_date) != "")){
$criteria->condition = ' create_date>="'.date("Y-m-d",strtotime($this->from_date)).'" AND create_date<="'.date("Y-m-d",strtotime($this->to_date)).'"';
}
$criteria->compare('user_id',$this->user_id);
$criteria->compare('lokasi',$this->lokasi,true);
$criteria->compare('satisfy_val',$this->satisfy_val,true);
$criteria->compare('create_date',$this->create_date,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array(
'defaultOrder'=>array('create_date DESC',)),
'pagination'=>array(
'PageSize'=>150
),
));
}