Yii不允许插入相同的数据

时间:2017-08-28 01:44:39

标签: php yii

我正在使用yii框架。我做了一个条件,不允许用户插入相同的数据。

这是我的代码

模型

public function rules()
{
    // NOTE: you should only define rules for those attributes that
    // will receive user inputs.
    return array(
        array('DEP_CD', 'length', 'max'=>5),
        array('DEP_CD', 'required'),
        array('DEP_CD', 'cekPK'),
    );
}

public function cekPK()
{
    $model = self::findByPk(array($this->DEP_CD));
    if ($model)
        $this->addError('field1', 'Data sudah ada');
}

此代码适用于不允许用户插入相同数据。但是当他们编辑/更新数据时,它会一直说数据存在。我需要允许用户编辑但不能仅插入相同的数据

感谢

1 个答案:

答案 0 :(得分:1)

解决方法可能是:

public function cekPK()
{
    if ($this->isNewRecord)
    {
        $model = self::findByPk(array($this->DEP_CD));
        if ($model)
            $this->addError('field1', 'Data sudah ada');
    }
}