我有两个表格Center和Class。这个中心类之间的关系。 阶级关系,
'centers' => array(self::MANY_MANY, 'Center', 'centerclass(cl_id, cent_id)'),
和中心的关系,
'classes' => array(self::MANY_MANY, 'Class', 'centerclass(cent_id, cl_id)'),
现在,如果我有中心ID,我怎样才能获得与该中心相关联的所有课程。
请给我Yii的标准。
谢谢。
答案 0 :(得分:0)
$center = Center::model()->with('classes')->findByPk($centerId);
foreach($center->classes as $class){
...
}
答案 1 :(得分: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)
),
....