【发布时间】:2014-08-19 09:26:36
【问题描述】:
在 Yii 中重新加载页面时将数据插入数据库
我使用了两种模型:CName 和 CDetails 以单一形式。一切运作良好。除了,每当我重新加载或刷新该表单页面时,都会将空数据插入到数据库的两个表中。
这是控制器代码:
public function actionCreate()
{
$model=new CName;
$model1=new CDetails;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if(isset($_POST['CName'])
&& ($_POST['CDetails'])
)
{
$model->attributes=$_POST['CName'];
$model1->attributes=$_POST['CDetails'];
$valid = $model->validate();
$valid = $model1->validate() && $valid;
if($valid)
{
if(!empty($model) && !empty($model1)){
$model->save();
$model1->save();
$this->redirect(array('cprimary/create'));}
}
}
$this->render('create',array(
'model'=>$model,
'model1'=>$model1,
));
}
现在,每当重新加载此页面时,都会在两个模型的表中插入空值。控制器出了什么问题? 我检查了,但是,一切似乎都很好。请,任何评论或说明都会非常有帮助。
【问题讨论】:
-
刷新时发送什么类型的请求? GET 还是 POST 请求?如果是发布请求,是否设置了 CDetails 和 CName 变量?
-
感谢黑暗继承人。它的帖子。而且,是的,模型是变量集。
标签: php forms yii model multi-model-forms