$form->attributes = $model;
attributes可以直接给对应的对象批量赋值。
需要在对应的模型里面加上对应字段
public function rules() {
return [
[['store_id', 'cat_id', 'name', 'cover_pic', 'goods_pic_list', 'integral', 'original_price', 'detail', 'user_num'], 'required'],
[['store_id', 'cat_id', 'freight', 'use_attr'], 'integer'],
[['detail', 'cover_pic', 'goods_no'], 'string'],
[['name', 'unit'], 'string', 'max' => 255],
[['service'], 'string', 'max' => 2000],
[['goods_pic_list', 'attr', 'model'], 'safe'],
[['sort', 'virtual_sales', 'goods_num', 'user_num'], 'integer', 'min' => 0, 'max' => 999999],
[['sort', 'virtual_sales', 'goods_num', 'cost_price', 'weight', 'price', 'original_price', 'goods_no'], 'default', 'value' => 0],
[['cost_price', 'weight', 'price', 'original_price'], 'number', 'min' => 0],
[['integral','sign_integral'], 'integer', 'min' => 1, 'max' => 999999],
[['attr'], 'app\modules\mch\models\AttrValidator']
];
}
见红色属性,因为没有添加,赋值的时候这个属性赋不上去。