在Yii php中定义多个关系

时间:2014-02-10 02:59:35

标签: php yii relationship foreign-key-relationship relation

我是Yii的新手。

我有3张桌子。

参赛作品,学习计划

关系是:研究有许多条目,研究属于单个程序。

我希望为Entry定义一个模型,以显示包含所有条目的数据表(CGridView),并显示该条目所属的程序。

  • 条目 study_id - >参考Study,

  • 研究有 program_id - >提到计划,

  • 程序具有名称属性。

我希望显示条目所属的程序名称。 我只知道如何定义单个关系条目,但我对目前的问题完全无能为力。这与我的关系应该是什么?什么属性/ s?

public function relations(){
    return array(
    ...
    'study' => array(self::BELONGS_TO, 'Study', 'study_id'),
    );

}

而且,如果我有这种关系,我将如何为数据提供者定义我的排序?

'sort'=>array(
    'attributes'=>array(
        '*'
    )
)

非常感谢!

1 个答案:

答案 0 :(得分:2)

您可以在模型类中定义这两个关系。

'study' => array(self::HAS_MANY, 'Entry','study_id'),
'program'=>array(self::BELONGS_TO,'Program',array('program_id'=>'id'),'through'=>'study'),

现在在您的视图文件中,您编写var_dump($data->program)它将显示您特定条目的程序列表。

您也可以从我的链接中获得帮助。

How to get data from Relations with joins in yii

希望它会对你有所帮助。

由于