YII中CHtml::listData方法第一个参数(models)的使用
2013-06-21 13:38
525 查看
public static array listData(array $models, string $valueField, string $textField, string $groupField='')
$models array 模型对象的列表。这个参数也可以是一个关联的数组(例如CDbCommand::queryAll的结果)。
问题描述:
Staff模型中的getRealname方法:
返回的结果为
array(1) {
[""]=>
NULL
}
采用以下方案,均可得出正确结果:
总结:
如果是用AR做为数据源,应使用findAll()、findAllByPk()、findAllBySql() ...等所有活动记录。而不能使用find、findByPk()..等仅获取单一活动记录。
如果为数组,该数组为二维数组。
$models array 模型对象的列表。这个参数也可以是一个关联的数组(例如CDbCommand::queryAll的结果)。
问题描述:
<?php echo $form->textField($model, 'staff_name',array('class'=>'input','style'=>'width:150px')); echo CHtml::ajaxButton('查询', $this->createUrl('cost/searchname'), array( 'type'=>'POST', 'update'=>'#Cost_staff_id', 'data'=>array('staff_name'=>"js:$('#Cost_staff_name').val()",'YII_CSRF_TOKEN'=>Yii::app()->request->csrfToken), )); echo CHtml::activeDropDownList($model, 'staff_id', Staff::getRealname($model->staff_id), array( 'empty'=>'请选择', ) ); ?>
Staff模型中的getRealname方法:
public static function getRealname($id) { $result=self::model()->findByPk($id); var_dump($result);exit; return CHtml::listData($result, 'id', 'realname'); }
返回的结果为
array(1) {
[""]=>
NULL
}
采用以下方案,均可得出正确结果:
public static function getRealname($id) { $a=array( 'id'=>2, 'realname'=>'真实姓名', ); $b=array( 'a'=>$a, ); var_dump(CHtml::listData($b, 'id', 'realname'));exit; }
public static function getRealname($id) { $result=self::model()->findAllByPk($id); return CHtml::listData($result, 'id', 'realname'); }
总结:
如果是用AR做为数据源,应使用findAll()、findAllByPk()、findAllBySql() ...等所有活动记录。而不能使用find、findByPk()..等仅获取单一活动记录。
如果为数组,该数组为二维数组。
相关文章推荐
- ibatis中使用List作为传入参数的使用方法
- jQuery列表拖动排列-jquery list dragsort插件参数和使用方法
- ibatis中使用List作为传入参数的使用方法及 CDATA使用
- YII中dropDownList结合listData取得另外模型数据的方法
- 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
- 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
- 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
- 【转】jQuery列表拖动排列-jquery list dragsort插件参数和使用方法
- 不定长参数处理方法--va_list、va_start、va_arg、va_end的原理与使用
- 无法跨越程序集边界使用程序集“DataCheck, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”中的类型“List<ILayer>”,因为该类型有一个为嵌入互操作类型的泛型类型参数
- 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
- Yii——使用CHtml::link()等方法时,设置htmlOptions属性可快速生成js代码和ajax请求
- 在使用OracleDataAdapterFill(Dataset)方法时报错:指定的参数已超出有效值的范围
- 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
- 在spring data jpa中使用redis的通用list及entity存储方法
- yii CActiveDataProvider的使用方法
- springMVC中使用List和Map绑定对象作为参数的使用方法
- jQuery列表拖动排列-jquery list dragsort插件参数和使用方法
- 函数可变参数va_list、va_start、va_arg、va_end原理及使用方法
- 【转载】理解可变参数va_list、va_start、va_arg、va_end原理及使用方法