我正在使用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');
}
此代码适用于不允许用户插入相同数据。但是当他们编辑/更新数据时,它会一直说数据存在。我需要允许用户编辑但不能仅插入相同的数据
感谢
答案 0 :(得分:1)
解决方法可能是:
public function cekPK()
{
if ($this->isNewRecord)
{
$model = self::findByPk(array($this->DEP_CD));
if ($model)
$this->addError('field1', 'Data sudah ada');
}
}