谁一开始就是大神?

在modelrules某欄位使用unique此然為驗證時無法成功[2.0]

前提
新增與修改 同一個表單,情境(scenario) 那我在送出後 新增可執行
但在修改的時候($model->validate())
假使欄位為 account_name 已有相同名稱就會無法驗證成功
但我的需求是 account_name 他初始的值可以修改並存入資料庫 但有重複到的值就無法修改
請問:
1.假使碰到這種狀況 新增與修改 需要用同一個情境嗎(小弟我是用同一個)
2.如果同一情境(scenario)下,有辦法可以解決嗎??
3.又或者自行附加 rules function
(附加過function rules 但同一情境下會先被 unique 先擋掉而不執行, 除非使用不同得情境)

第一次發文 請指教

也不一定要分不同情境。Yii model 有一个isNewRecord方法,用它来判断是否是新增记录,这样一来就可以做个条件判断,判断是新增还是修改。如果不是新增,再查询是否有重复的值,有重复的值就不保存。
$model->getErrors()打印下就知道错那了
rules 中有一个 when属性,这个属性能让你判断是否运行接下来的验证,相当于beforeValidateAttribute;

赞(0) 打赏
未经允许不得转载:菜鸟之家 » 在modelrules某欄位使用unique此然為驗證時無法成功[2.0]

评论 抢沙发

登录

找回密码

注册