yii2在数据库添加新字段后Model增加属性的方法
  • 2018-10-25发布
  • 2018-10-25修改

为了方便描述,假设要添加的字段名是 column1 int(64);

其实很简单,在model文件中什么都不用加就行,yii2会自动将对应的表字段添加到当前model中,不需要手动设置。

但不能在model加public | private | protected $column1,否责该属性会覆盖掉字段名。



如果需要定义字段类型,在rules中加入:

  return [
            [['column1'], 'integer'],
            //[['column1'],'default','value'=> 0],// 默认值
        ];


设置默认值也可以在beforeSave($insert)加入

 $this-> column1 = 0;


另外,如果需要model获取非表字段的属性表单数据,则需要在rules中加入下面的项。

否则用$model->load(Yii::$app->request->post()) 无法将表单数据加载到model对象中。

 return [
            [['property1'], 'required'],//property1 是通过public | private | protected 声名的。
            //[['column1'],'default','value'=> 0],// 默认值
        ];