Php 是的,使用一个文本框来更新多个模型

Php 是的,使用一个文本框来更新多个模型,php,yii,Php,Yii,我讨厌问这样一个一般性的问题,这不是一个为我编写代码的问题。我只是需要一些帮助来开始正确的方向 我将做类似的事情: 但情况是这样的,我的模型是木材产品。您可以将2x4 8'作为一个,将2x4 10'作为另一个。一直到24英尺。它们都有一个价格域,具有不同的价格。但它们可以按直线英尺、板英尺、千板英尺定价。。等等 因此,2x4 8'的价格可能为1.92,2x4 10'的价格可能为2.40。但您可以通过将.24传递给两个模型作为线性价格来设置价格值。所以,24*8和24*10。每个木材模型都有一个

我讨厌问这样一个一般性的问题,这不是一个为我编写代码的问题。我只是需要一些帮助来开始正确的方向

我将做类似的事情:

但情况是这样的,我的模型是木材产品。您可以将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]
中间[]是链接到多个模型的输入框。。。因此,左上角将链接到所有为fir的2x4


Thank=p

我不知道正确的“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,
            ));
    }