1

私はそのような一般的な質問をするのは嫌いです。これはコードを書く質問ではありません。正しい方向に始めるための助けが必要です。

私はこれに似た何かをするつもりです: http://www.yiiframework.com/doc/guide/1.1/en/form.table

しかし、これがシナリオです。私のモデルは木材製品です。2x4 8' を 1 つとして、2x4 10' を別のものとして使用できます。24フィートまでずっと。それらはすべて、異なる価格の価格フィールドを持っています。ただし、直系フィート、ボード フィート、千ボ​​ード フィートなどで価格を設定できます。

したがって、2x4 8' の価格は 1.92 で、2x4 10' の価格は 2.40 です。ただし、両方のモデルに直線価格として .24 を渡すことで、価格の値を設定できます。したがって、.24 * 8 および .24 * 10 です。各材木モデルには、ここで使用できる長さと呼ばれるフィールドがあります。

Yii を使用し、Yii の方法でそれを行う... 私が考えるようないくつかの回避策ではありません。1 つの CActiveTextField を複数のモデルにリンクする正しい方法は何でしょうか。例えば。2x4 アイテムのグループ。

フォームを使用した私のビューは、次のようになります。

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

[ ] の間は、複数のモデルにリンクされている入力ボックスです...そのため、左上はモミであるすべての 2x4 にリンクされます。

ありがとう=p

4

1 に答える 1

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,
            ));
    }
于 2012-04-05T23:13:07.520 に答える