2016-09-30 180 views
0

每当我试图创建一个事件,点击创建后说:坏请求(#400)缺少必要的参数:ID在yii2

坏请求(#400)缺少必要的参数:ID

我曾试过做$model->save(false);,但是当我这样做时,它只上传文本,而不是图片。

我eventController代码:

 public function actionCreate() 
     { 
     $model = new Events(); 

     if ($model->load(Yii::$app->request->post())) { 

      // get the instance of the uploaded file 
      $imageUpload = $model ->event_name; 
      $model->file =UploadedFIle::getInstance($model,'file'); 
      if($model->file) { 
     $model->event_image='images/'.$imageUpload.'.'.$model->file->extension; 
      $model->save(); 
     $model->file->saveAs('images/'.$imageUpload.'.'.$model->file->extension); 
} else { 
    $model->save(); 
} 




      return $this->redirect(['view', 'id' => $model->event_id]); 
     } else { 
      return $this->render('create', [ 
       'model' => $model, 
      ]); 
     } 
    } 
+1

你是什么形式的行动之前设置或不 print_r($model->attributes);属性?它指向创造行动吗? –

+0

谢谢你们!我发现我的错误,并解决了它 –

回答

1

似乎'id' => $model->event_id正在寻找lastInsertID

试试这个

if($model->save()) 
{ 
    $lastInsertID = $model->getPrimaryKey(); 
    return $this->redirect(['view', 'id' => $lastInsertID]); 
} 
else 
{ 
    // print_r($model->getErrors()); => check whether any validation errors are there 
} 

而且你可以尝试让领域模型规则safe

[['field1','field2','field3'], 'safe'], 

最后,你可以尝试$model->load(Yii::$app->request->post())后检查,如果该模型已经save(false)

+0

感谢它解决了 –

+0

很高兴听到,不要忘记接受答案,如果它帮助你 –

+0

不适合我 – faisal1208