Yii 如何防止數據庫中某欄位一樣值

請問以下情況YII如何實現:

INFO TABLE:

ID formClass classTime subject teacherID room

1 K1A 08:00 中文 T001 R001

假如我現在新增一筆以下記錄:

ID formClass classTime subject teacherID room

1 K1A 08:00 中文 T001 R002

YII會提出錯誤信息,因為同一個老師不可能同一時間教另一班。

假如我再新增一筆以下記錄:

ID formClass classTime subject teacherID room

1 K1A 08:00 中文 T001 R001

YII會提出錯誤信息,因為同一個romm不可能同一時間有2班。

除了再每次插入數據庫前($model->save()),都用time或者room去查詢數據庫有沒有重複teacherID或者room之外,還有什么好的方法嗎?謝謝

你这个不是单纯的一个字段验证了(单字段还可以用unique验证器) , 涉及比较复杂的业务逻辑了

自己写 inline validate 吧。就是在model里 自己写验证方法 用AR的exists方法 或者sql语句select下看存不存在

关于内联验证器 参考:form.model 处的validate

非常感謝,根據你的作法,自定義rules就解決了,YII太強大的。