1. 程式人生 > >Activeform表單提交非資料表字段屬性

Activeform表單提交非資料表字段屬性

在YII2中提交表單除了使用Activeform 提交資料表中存在的欄位的同時,有時還需要提交資料表中不存在的屬性

1、表單部分

<input type="text" name="GaccModel[spename]" value="" class="form-bom " >
<input type="text" name="GaccModel[spename]" value="" class="form-bom " >
需要注意的是input 的 name 需要加上模型的名字,這裡是容易忘記的

2、控制器部分

    if(Yii::$app->request->isPost && $model->load(Yii::$app->request->post()) && $model->save())
            {
                Yii::$app->session->setFlash('資訊提示','操作成功!');
                return $this->redirect(['goods/specs']);
    }

控制器部分一樣無

3、模型部分

class GaccModel extends ActiveRecord
{
    public $spename;
    public $specode;

    public static function tableName()
    {
        return '{{%gacc}}';
    }

    public function rules()
    {
        return[
            [['sortname','number'],'required','message'=>'不能為空'],
            [['spename','specode'],'safe']
        ];
    }
}

模型部分需要 public 屬性名字,rules也是必須的

4、使用自定義屬性


$aacc=$this->spename;
$bbcc=$this->specode;