1
如何检查日期范围是否重叠?我在我的模型中有这个,它一直保存下来。如何检查事件日期是否与现有事件不重叠
public function dateRangeExists($attribute, $params) {
$criteria = new CDbCriteria;
$criteria->compare('id_one',$this->id_one,true,);
$criteria->compare('id_two',$this->id_two,true,'OR');
// $criteria->addCondition('start_date < '.$this->start_date);
// $criteria->addCondition('end_date > '.$this->end_date);
$criteria->addBetweenCondition('start_date', $this->start_date, $this->end_date);
$criteria->addBetweenCondition('end_date', $this->start_date,$this->end_date);
$record = self::model()->exists($criteria);
if(!empty($record)) {
$this->addError('id', 'Item already exists within range.');
return false;
}
}
所以,你首先需要检查,如果给定'date'已经存在,你要保存在数据库中的条目之前? – Jhn
你如何定义重叠? –
也许这是因为你的变量类型 – tinybyte