Yii,用外键从其他表中获取值

Ste*_*nen 4 php foreign-keys yii

我是yii框架的新手,所以我可以使用一些帮助.假设我的数据库中有一个用户表,其中一个配置文件字段是国籍.在另一张桌子上,我有很多这样的国籍:

 id    Nationality    short
  1    Germany         DE
  2    France          FR
  3    Netherlands     NL
Run Code Online (Sandbox Code Playgroud)

等...约60多个国籍.在usertable中,用户国籍与此表链接,如下所示:

id    username    nationality
1      user            1
Run Code Online (Sandbox Code Playgroud)

这意味着用户1的国籍=德国.但是当我在个人资料视图中时,如何从国籍表中选择德国?

我希望我清楚,否则问:)

迎接,斯特凡.

小智 10

您需要两个表的模型类,例如

class Profile extends CActiveRecord {
    ...
}

class Nationality extends CActiveRecord {
    ...
}
Run Code Online (Sandbox Code Playgroud)

然后在Profile模型中,你需要一个关系 Nationality:

public function relations() {
    return array(
        'nationality' => array(self::BELONGS_TO, 'Nationality', 'nationality'),
    ),
}
Run Code Online (Sandbox Code Playgroud)

关系的名称'nationality'是您如何引用相关模型,例如:

$profile = Profile::model()->findByPk($id);
echo $profile->nationality->short;
Run Code Online (Sandbox Code Playgroud)

资源