Yii关系模型

时间:2015-02-12 14:00:14

标签: yii relation cgridview

我在以下情况下尝试设置关系时遇到了不好的时间。

我有一个表 Person(id_person,name,id_mother,id_father)

我知道在不同的表中使用外键在模型中建立关系。但在这种情况下, id_mother和id_father被映射到其他id_person (希望我自己清楚)。

这是我试过的

 public function relations() {
     return array(
            'father'=>array(self::BELONGS_TO, 'PERSON', 'id_person'),
            'mother'=>array(self::BELONGS_TO, 'PERSON', 'id_person'),
     );
}

我希望他们的名字在CGridVew

$data->father->NAME
$data->mother->NAME

在这种情况下我必须做什么?

1 个答案:

答案 0 :(得分:2)

我认为你定义了错误的关系。 关系方法应该是这样的:

public function relations() {
     return array(
            'father'=>array(self::BELONGS_TO, 'PERSON', 'id_father'),
            'mother'=>array(self::BELONGS_TO, 'PERSON', 'id_mother'),
     );
}

我希望这会对你有所帮助。