2

私は2つのテーブルを持っています: productproduct_type (モデルのそれぞれの Product と Product_type に関連しています):

product : product_id, product_type_id, name, etc...
product_type : product_type_id, name, desc, etc...

どちらもキー「product_type_id」に関連付けられています。

私は、gii crud ジェネレーターを使用して、両方のテーブルの crud を作成しました。Product form ページで、Yii ActiveRecord を使用してドロップダウン フィールドにすべての product_type 名のリストを表示したいと考えています。views/product/_form.phpスクリプトに次の行を追加しました。

<?php
    $list = CHtml::listData(ProductType::model()->findAll(array('order' => 'product_type_name')), 'id', 'id');
    echo $form->dropDownList($model, 'product_type_id', $list);
?>

しかし、空白のドロップダウンフィールドが表示されています:(

これどうやってするの?

4

3 に答える 3

6

解決済み MySelf :)

product_type_name を指定するだけです。

<?php
        $list = CHtml::listData(ProductType::model()->findAll(array('order' => 'product_type_name')), 'product_type_id', 'product_type_name');
        echo $form->dropDownList($model, 'product_type_id', $list);
        ?>
于 2013-07-06T07:18:09.323 に答える
-2

次のようにコードを変更します

    <?php
    $list = CHtml::listData(ProductType::model()->findAll(array('order' => 'product_type_name')), 'table_col_name1', 'table_col_name2'); //table_col_name1 is value of option, table_col_name2 is label of option
    // echo $form->dropDownList($model, 'product_type_id', $list);
    echo CHtml::dropDownList('name_of_the_dropdown', $model, $list);
    ?>
于 2013-07-06T07:21:41.267 に答える