2016-11-25 93 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

相关问题