例如:
我们的表格book
包含不同类型(Horror
,Travel
,History
)。
我们需要为这些图书创建方法update
,但对于每种图书类型,我们都需要显示不同类型的图书。
我们如何实现这一目标?
以下代码是否正确?
public function actionUpdate($id)
{
$model = $this->getType($id);
switch ($model->type){
case Book::TYPE_HORROR:
return $this->render('update_horror', [
'model' => $model
]);
break;
case Book::TYPE_TRAVEL:
return $this->render('update_travel', [
]);
break;
case Book::TYPE_HISTORY:
return $this->render('update_history', [
]);
}
throw new NotFoundHttpException;
}
答案 0 :(得分:1)
你可以这样做
public function actionUpdate($id)
{
$model = $this->getType($id);
return $this->render('update_'. $model->type, ['model' => $model]);
}
其中视图名称必须为“update_”+ exactely $ model-> type result,
例如:horror = update_orror.php
这是用于重新查看视图,但不要忘记向表单添加操作方法,否则它将查找不存在的页面。
$form = ActiveForm::begin(['action' =>['book/update']])