0

我有两张桌子中心和班级。这个 Centerclass 之间的关系。类中的关系,

'centers' => array(self::MANY_MANY, 'Center', 'centerclass(cl_id, cent_id)'),

和中心的关系,

'classes' => array(self::MANY_MANY, 'Class', 'centerclass(cent_id, cl_id)'),

现在,如果我有中心 id,如何获取与该中心相关联的所有类。

请给我这个 Yii 的标准。

谢谢你。

4

2 回答 2

0
$center = Center::model()->with('classes')->findByPk($centerId);
foreach($center->classes as $class){
...
}
于 2013-08-05T07:45:06.963 回答
0

您可以使用 'with()' 方法在查询上应用 JOIN 关系:

$center = Center::model()->with('classes')->findByPk($centerId);

并通过这样的 foreach 获取课程:

foreach($center->classes as $class){
     echo $classes->cl_id; // Attribute that you like to show.
}

编辑:

在 CGridView 中使用:

控制器:

$dataProvider =  new CArrayDataProvider('Class');
$dataProvider->setData($center->classes);

在渲染中添加 $dataProvider 以将其发送到视图。

更多信息:http ://www.yiiframework.com/doc/api/1.1/CDataProvider

或直接在视图中:

$this->widget('zii.widgets.CListView', array(
        'dataProvider'=>new CActiveDataProvider('Class', array(
                                                          'data'=>$center->classes)
         ),
    ....

更多信息: http ://www.yiiframework.com/doc/api/1.1/CBaseListView

于 2013-08-05T07:52:27.330 回答