我需要驗證表格的會員卡號碼是唯一的唯一當前年份,所以我必須爲我的模型列創建一個自定義驗證器。可以創建一個應該運行查詢來驗證的自定義驗證器嗎?
我的問題是:
- 重進行查詢,以當年檢查唯一我每次更新/創建一個單行?我如何期待 與此?
- 我只在CakePHP上使用自定義的驗證器,你能發佈一個愚蠢的例子,只爲我展示一個語法示例嗎?
編輯1:
注意,本年度被存儲在一個名爲expire_date
列這是一個年 - 月 - 日日期格式。 但是,應該只在一年中執行檢查。 我該如何處理這個問題?這就是爲什麼我想我應該使用自定義驗證器,我認爲scope
不應該在這種情況下工作。
編輯2:
我只注意到一個:if
的選擇,我會檢查,如果我可以通過它實現這一點。
其實我認爲索引應該是[:card_number,:year]。但是最好測試它並查看唯一性查詢中是否使用了很多列 –
是的,單列索引是隱含的主鍵,因此SQL EXPLAIN可以顯示索引最適合的區域 – Anatoly
mh我有一個「問題「,我的」年份「存儲在一個名爲」expire_date「的列中,其中包含完整日期,我該如何處理? –