[英]Yii2 - Bad Request (#400) - Missing required parameters: id
CommentController:
public function actionCreate()
{
$model = new Comment();
var_dump(Yii::$app->request->post());
if ($model->load(Yii::$app->request->post()))
{
$model->user_id = Yii::$app->user->getId();
$model->created_at = time();
$model->updated_at = time();
$model->save();
return $this->redirect(Url::to(['post/view', 'id'=>$model->post_id]));
}
return $this->redirect(Url::to(['/post/index']));
}
如果我將false
傳遞給$model->save()
則數據將存儲在數據庫中,並且外鍵字段'post_id'中沒有任何值,但仍無法將我重定向到正確的頁面。
對於yii來說是新手,對於軟件開發來說相對較新,任何幫助將不勝感激。
它將您重定向到post/view
PostController
意味着PostController
- actionView($id)
,但沒有actionView($id)
$id
,這是actionView($id)
所必需的。 這就是為什么您會收到400個缺失的參數錯誤的原因。 您必須添加此參數-現在,如果您向save()
方法添加false
並保存時不包含post_id
,則無法將用戶重定向到post/view
因為您沒有在GET
傳遞此對象的id
為了避免這種情況,您應該檢查if if($model->save())
是否確實保存了$model
,以及是否將用戶重定向到視圖。
您需要在控制器中執行以下操作。如果id存在,則將保留id值,否則它將定義並將其保留為空。
public function actionView($id='') {
//
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.