0

我需要知道如何在 listData() 中调用关系,

例如,以正常方式我们可以这样称呼它:

$model->section->section_name ;

在我的代码中,我只是将值打印为数字,但我需要从课程表中打印字符串值。

public function coursesList($section_id) {


        $data=Msection::model()->findAll('section_id=:section_id', 
                array(':section_id'=>(int)$section_id));


        return CHtml::listData($data,'course_id','course_id');
 //// can i call it like : ///listData($data,'course_id->course->course_name','course_id');
        }

我可以这样称呼它:

listData($data,'course_id->course->course_name','course_id');

如何解决?

提前致谢

4

1 回答 1

4

如果您使用的是 php 5.3 或更高版本,则可以在 ListData 中调用匿名函数,其中参数是此时列表正在处理的模型:

CHtml::listData($data,'id',function($course) {
    return CHtml::encode($course->course_name);
});

来源:Yii 文档

于 2013-01-26T10:20:05.430 回答