2016-11-25 49 views
3

如何將這些輸入轉換爲數據庫中的DATE字段?Yii2。一個模型/數據庫字段的許多輸入

enter image description here

客戶堅持這樣的方式輸入用戶的出生日期。首先,我的想法僅僅是在beforeValidate的一個字段中進行連接,但是在此輸入之後將無法顯示來自DB的日期。如何避免這種限制?

回答

3
  1. 將這3個字段添加爲模型類中的虛擬屬性。
  2. beforeValidate()中設置值爲birthdate,並將3個虛擬字段組合在一起。
  3. 在模型類中添加afterFind()其中保存在DB birthdate屬性中的值用於設置3個虛擬屬性的值。
  4. 現在窗體正確保存3個字段的值,合併日期保存在數據庫中。
+0

謝謝你的回答。通過「虛擬領域」你的意思是添加字段到「規則」數組,但不是在模型類中創建一個真正的領域?在我的例子中,[[''birthdate_month','birthdate_day','birthdate_year'],'string']' –

+0

對於規則和模型本身,比如'public $ birthdate_month;'' – Bizley

相關問題