Yii,使用一个文本框来更新多个模型

时间:2012-04-04 17:34:47

标签: php yii

我讨厌提出这样一个普遍的问题,这不是为我编写代码的问题。我只是需要一些帮助才能开始正确的方向。

我将做类似的事情: http://www.yiiframework.com/doc/guide/1.1/en/form.table

但这是场景,我的模型是木材产品。你可以将2x4 8'作为一个,2x4 10'作为另一个。一直到24'。他们都有价格领域,价格不同。但它们可以通过直线脚,板脚,千板脚等来定价。

所以2x4 8'价格可能是1.92而2x4 10'价格可能是2.40。但是您可以通过将.24作为直线价格传递给两个模型来设置价格的价值。所以.24 * 8和.24 * 10.每个木材模型都有一个可以在这里使用的长度字段。

使用Yii,并以Yii的方式进行...不是像我想象的那样工作。将一个CActiveTextField链接到多个模型的正确方法是什么。例如。一组2x4项目。

我对表单的看法最终会看起来像这样:

    Fir   Spruce
2x4  [.24] [ .22]
2x6  [.30] [ .32]

Inbetween []是链接到多个模型的输入框...所以左上角将链接到所有2x4s冷杉

谢谢= p

1 个答案:

答案 0 :(得分:0)

我不知道正确的'YII方式',但您可以从控制器更新几个模型,如下所示:

   /**
     * Update several models.
     */
    public function actionUpdate()
    {
            // post filtering left out for brevity
            $editFir10 = new Fir10;
            $editFir8 = new Fir8;
            $editFir10->costPerLF=$_POST['firCLF'];
            $editFir8->costPerLF=$_POST['firCLF'];
            $editFir10->save();
            $editFir8->save();
            //here you can send several models AFAIK
            $this->render('update',array(
                    'model1'=>$editFir8,
                    'model2'=>$editFir10,
            ));
    }