在DropDownList Yii PHP中设置默认值

在DropDownList Yii PHP中设置默认值,php,yii,html.dropdownlistfor,Php,Yii,Html.dropdownlistfor,我在yii中有一个管理面板,可以编辑/更新子主题和主题 在子主题的编辑/更新页面上,有一个外键值引用主题表 我有一个下拉列表,我代表主题ID填写了主题的名称,但问题是该下拉列表应该显示下拉列表中主题的正确选择值。相反,它显示的是第一个值 我的代码 <?php /* SubtopicsController */ /* @var $model Subtopics */ /* @var $form CActiveForm */ ?> <div class="form">

我在yii中有一个管理面板,可以编辑/更新子主题和主题

子主题的编辑/更新页面上,有一个外键值引用主题

我有一个下拉列表,我代表主题ID填写了主题的名称,但问题是该下拉列表应该显示下拉列表中主题的正确选择值。相反,它显示的是第一个值

我的代码

<?php
/* SubtopicsController */
/* @var $model Subtopics */
/* @var $form CActiveForm */
?>

<div class="form">
    <?php
        $form = $this->beginWidget('CActiveForm', array(
            'id' => 'subtopics-form',
            'enableAjaxValidation' => false,
            'htmlOptions' => array('enctype' => 'multipart/form-data'),
        ));
    ?>
....
//Some Irrelevant Code
....

<div class="row">
    <?php echo $form->labelEx($model, 'name'); ?>
    <?php echo $form->textArea($model, 'name', array('rows' => 1, 'cols' => 50)); ?>
    <?php echo $form->error($model, 'name'); ?>
</div>

<div class="row">
    // This is the subjected dropdown
    <?php echo $form->labelEx($model, 'topic_id'); ?>
    <?php
       echo $form->dropDownList($model, 'topic_id', Subtopics::model()->get_AllTopics(), array(
           'ajax' => array(
               'data' => array('topic_id' => 'js:this.value'),
       )));
    ?>
    <?php echo $form->error($model, 'topic_id'); ?>
</div>


<div class="row buttons">
    <?php ?>
    <?php
    echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save');
    ?>
</div>

<?php $this->endWidget(); ?>

....
//一些无关的代码
....
//这是下拉列表
它显示的内容

显示的内容“>

这是我想要选择的选项


此作业不需要ajax选项,只需在开始时加载所有主题即可

<?php echo $form->dropDownList($model,'topic_id', CHtml::listData(Topic::model()->findAll(), 'id', 'name')); ?>
当然,这可以定制,以满足您的需要。我甚至喜欢在一个方法

这将始终在更新时的下拉列表中绑定值


干杯

它返回null。数组为null。我正在使用下面的代码,正如您建议的:
哦,是的,我的错!应该是

Topic::model()->findAll()