谁一开始就是大神?

YII2dropDownList下的prompt问题[2.0]

在view下增加了一个dropDownList($Config, ['prompt'=>'Select...']) ?>
每次更新时如果选择的是prompt的话那么他的默认值就是NULL ,从而造成插入到mysql时无法更新
Column ‘xxx’ cannot be null,
我就想问有没有设置这个promot的默认值为0的,
我现在做的是model->save()的方法之前做判断
如果post过来的值为空的话,就将其设置为0,但我个人感觉这样做也太low了点。
不知道哪位有没有更好的一个方法

能想到的几种答案:
1.继承重写下dropDownList方法,将prompt的string值改成array
2.在beforeSave方法里头做判断填充值
3.数据库中将字段属性改为空
4.不用dropDownList,手动生成select
5.在rules里头直接分配默认值
为什么会无法更新。有rules()。
在rules里把它默认值设置成0
给你的数据data数据加个初始值,[0=>’select…’],不要用prompt不就可以了

赞(0) 打赏
未经允许不得转载:菜鸟之家 » YII2dropDownList下的prompt问题[2.0]

评论 抢沙发

登录

找回密码

注册