大家好,有表user,字段:name。
直接使用gii生成model,user->name
.可以进行设置,然后user->save();
等等。
请问如果这个时候修改了数据库的字段名称,是否可以 不改变属性名name的情况下,还能继续使用这个model的AR操作呢?
我尝试了。
public function attributes()
{
return [
'cn_name'=>'name'
]
}
设置后,程序是没有错的,但是当然save
的操作时,就会提示表user
中不包含name
的列(确实不存在,因为已经修改为cn_name了)。
不知道有什么办法可以解决?
实在不想整个项目全部去修改namne 为 新的 cn_name?
你上面的修改不是对字段映射的修改,而且修改的字段的标签,这个标签一般用在表单中。
可以这样试一下:
在model中增加成员变量,public $cn_name;
在beforeSave时,传递成员变量的值 $this->name = $this->cn_name;
记得$name用private