我有两张桌子。一个是"用户"。在用户表...
'id person type_id'
'1 X 1'
'2 y 2'
'3 z 3'
另一个是"输入"。
'id typename'
'1 a'
'2 b'
'3 c'
我有一个表格,我想要显示一个人的下拉列表,这些姓名是" a"和" b"。我的表格是......
<div class="row">
<?php
echo $form->dropDownListGroup(
$User,
'supervisor',
array(
'wrapperHtmlOptions' => array(
'class' => 'col-sm-5',
),
'widgetOptions' => array(
'data' => CHtml::listData(User::model()->findAll(), 'id', 'person'),
'htmlOptions' => array('prompt'=>'Select'),
)
)
); ?>
</div>
答案 0 :(得分:1)
...
'data' => CHtml::listData(User::getDropDownListData(), 'id', 'person'),
...
class User extends CActiveRecord {
...
public static function getDropDownListData() {
$types = Type::model()->findAllByAttributes([
'name' => ['a', 'b'],
]);
$typeIds = array_map(function($item){ return $item->id;}, $types)
$c = new CDbCritedria();
$c->compare('type', $typeIds);
return self::model()->findAll($c);
}
...
}