验证忽略了其中一个条件 - yii

时间:2014-04-10 16:48:35

标签: php yii

我想在保存之前验证并查看store_id / period是否存在。但奇怪的是,它正在验证整个store_idS,但它假设只能看到其中一个id。

它忽略了store_id,并检查整个数据。因此,当找到日期时,它会返回与该日期相关的所有内容,而忽略store_id。我不是在寻找一切,我只是想要商店。

模特中的

public function pExists($attribute, $params)
    {
        $criteria=new CDbCriteria;

        $criteria->compare('store_id',$this->store_id); //<--it's ignoring this... 

        $criteria->addBetweenCondition('date_from', $this->date_from, $this->date_to);
        $criteria->addBetweenCondition('date_to', $this->date_from, $this->date_to, 'OR');

        $model = $this->exists($criteria);
        if (!empty($model)) {
            $this->addError($attribute, "Promotional Fee already exists in period.");
            return false;
        }
    }

1 个答案:

答案 0 :(得分:1)

检查

$criteria->addBetweenCondition('date_from', $this->date_from, $this->date_to);
$criteria->addBetweenCondition('date_to', $this->date_from, $this->date_to, 'OR');
$criteria->compare('store_id',$this->store_id);