填充模型属性后删除归档

时间:2012-08-06 09:06:31

标签: yii

我搞砸了这个问题:

在我的控制器操作中,我通常使用一个值填充了一个特殊的模型属性(例如,如下所示的project_id属性):

public function actionCreate()
{
    $model=new Issue;

    $model->project_id = $this->_project->id;
    if(isset($_POST['Issue']))
    ......

那么为什么在_form.php中进行上述创建操作我们必须使用hiddenField来获取此属性:

<?php echo $form->hiddenField($model,'project_id'); ?>

为什么不完全删除它们?

1 个答案:

答案 0 :(得分:0)

如果您将actionCreate属性中的$_POST属性手动分配给模型,以及从{{1}}收集的属性,则无需在表单中为该属性渲染隐藏字段。 / p>

无论如何,很多时候在模型本身中做这种逻辑会更好,例如在beforeSave() method中,因为大多数情况下这是模型逻辑而不是控制器逻辑。如果模型在其他控制器中使用,那么您应该再次重复属性分配,但如果它在模型中,那么您可以保持代码干燥。