我有一个名为TextController的控制器,我在我的控制器中创建了一个名为trans controller的自定义操作,我用它来管理多种语言。当我提交表单时出现问题。它向我显示 Not Found(#404) )
请求的页面不存在。
我对此感到困惑......任何人都可以帮助我吗?
我附上我的控制器并在这里查看。
我的控制器
setTimeout
我的表格
public function actionTranslate()
{
// echo 'dddddddddd';die();
for($x = 0; $x < count($_POST['english']); $x++ )
{
$model = $this->findModel($_POST['text_id'][$x]);
$model->trans_text_id = $_POST['text_id'][$x];
$model->trans_text_label =$_POST['label_id'][$x];
$model->English =$_POST['english'][$x];
$model->Spanish =$_POST['spanish'][$x];
$model->French =$_POST['french'][$x] ;
$model->German =$_POST['german'][$x] ;
// echo '<pre>';print_r($model->trans_text_id);
$model->save(false);
}
echo Yii::$app->session->setFlash('success', 'Translation Saved');
return $this->redirect(Yii::$app->request->referrer);
}
提前致谢...
答案 0 :(得分:0)
如果您的控制器名为TextController
,则在查看文件
...
<form action="<?php echo Yii::$app->request/baseUrl;?>admin/text/translate" method="post" >
...
OR
...
<form action="<?php echo Yii::$app->homeUrl;?>/admin/text/translate" method="post" >
...
并在TextController.php
public function actionTranslate()
{
// echo 'dddddddddd';die();
for($x = 0; $x < count($_POST['english']); $x++ )
{
if($model = $this->findModel($_POST['text_id'][$x]))
{
$model->trans_text_id = $_POST['text_id'][$x];
$model->trans_text_label =$_POST['label_id'][$x];
$model->English =$_POST['english'][$x];
$model->Spanish =$_POST['spanish'][$x];
$model->French =$_POST['french'][$x] ;
$model->German =$_POST['german'][$x] ;
// echo '<pre>';print_r($model->trans_text_id);
$model->save(false);
unset($model);
}
}
echo Yii::$app->session->setFlash('success', 'Translation Saved');
return $this->redirect(Yii::$app->request->referrer);
}
你应该在if
循环for
条件<{1}}结束时将unset
条件置于if
条件(因为如果在db中找不到?)