【发布时间】:2014-03-25 19:52:56
【问题描述】:
我们有两个模型
class Base extends AbstractModel
{
public $id;
public $name;
public function tableName()
{
return 'table_base';
}
}
class ExtendBase extends AbstractModel
{
public $id;
public $baseID;
public function tableName()
{
return 'table_base_extend';
}
}
我不会全部描述,只会描述主要的事情。
所以,现在我想创建将这些表单组合在一起的表单。并希望在行动中做这样的事情
public function actionSome ()
{
$oBase = new Base();
$aExtendBase = array(); // important this is array
for ($i = 1; $i <= 3; $i++) {
$aExtendBase[] = new Extend(); // fill in array, pre-create for form
}
if ($this->isPost()) { // protected custom method
if (isset($_POST['Base'], $_POST['ExtendBase'])) // here should be specific checker because we have several ExtendBase instances in form
{
// save Base model
// save each ExtendBase model
}
}
$this->render('formView', array('oBase' => $oBase, 'aExtendBase' => $aExtendBaes))
}
所以问题是
- 如何在视图中创建这样的“组合”表单;
- 如何在 POST 操作后获取所有表单数据(我的意思是每个);
【问题讨论】:
标签: php forms validation yii