【发布时间】:2012-02-17 12:32:59
【问题描述】:
在Yii multimodel 表单中,我们只是使用 actionCreate() 在单个视图中创建两个模型的表单。好的,到这里为止一切都很好。但是当我们将在多模型的单个视图中更新两个模型时,模型如何会在这里定义吗? 举个例子吧,想想数据库就是这样的
=== Project ===
id
task_id(FK)
description
=== Task ===
id
name
description
所以在项目控制器的actionCreate()中,代码会是这样的
public function actionCreate()
{
$model=new Projects;
$tasks=new Projects;
// Uncomment the following line if AJAX validation is needed
// $this->performAjaxValidation($model);
if (isset($_POST['Projects'],$_POST['Tasks']))
{
$model->attributes = $_POST['Projects'];
$tasks->attributes = $_POST['Tasks'];
$valid = $model->validate();
$valid = $tasks->validate();
if($valid)
{
$model->save(false);
$tasks->save(false);
$this->redirect(array('view','id'=>$model->id));
}
}
$this->render('create',array(
'model'=>$model,
'tasks'=>$tasks,
));
}
现在这两个模型都可以创建了。那么在actionView() 和actionUpdate() 中该怎么做呢?如何声明这两个模型?任何帮助和建议都会非常有用。
【问题讨论】:
标签: php yii yii-cmodel