Php YII2:在actionCreate中上载文件

Php YII2:在actionCreate中上载文件,php,file-upload,yii2-advanced-app,Php,File Upload,Yii2 Advanced App,我的型号代码是: [['file'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg', 'maxFiles' => 4], 我在表格中添加了以下内容: <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?> 我遇到的问题是: 请求错误(#400) 缺少必需

我的型号代码是:

  [['file'], 'file', 'skipOnEmpty' => false, 'extensions' => 'png, jpg', 'maxFiles' => 4],
我在表格中添加了以下内容:

 <?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>
我遇到的问题是:

请求错误(#400)

缺少必需的参数:id


没有上传任何内容,数据库中也没有行创建。

您的函数定义是
公共函数actionCreate($id)
,对吗?没错。。。我忘了提到我已经创建了
公共文件在我的模型中抱歉,我没有注意到您编写了$id和创建操作。。我使用了
公共函数actionCreate(){code here}
The,模型的
id
字段丢失。如果未经验证就保存,会发生什么情况:
$model->save(false)
?它可以工作。。但是图像名称是空的
{
    $model = new items();

   if ($model->load(Yii::$app->request->post())){
   
    $model->file=UploadedFile::getInstance($model,'file');  
    $ImageName=$model->id;
    $model->file->saveAs( $ImageName.'.'.$model->file->extension );


    $model->store_id = \Yii::$app->user->identity->store_id ;
    
    $model->save() ;
   
        return $this->redirect(['view', 'id' => $model->id]);
    } else {
        return $this->render('create', [
            'model' => $model,
        ]);
    }
}