我是yii框架的新手,所以我可以使用一些帮助。 假设我的数据库中有一个用户表,其中一个配置文件字段是国籍。 在另一张桌子上,我有很多这样的国籍:
id Nationality short
1 Germany DE
2 France FR
3 Netherlands NL
等等......大约有60多个国籍。
在usertable中,用户国籍与此表链接,如下所示:
id username nationality
1 user 1
这意味着用户1的国籍=德国。但是当我在个人资料视图中时,如何从国籍表中选择德国?
我希望我明白,否则问:)
映入眼帘, 斯特凡。
答案 0 :(得分:10)
您需要两个表的模型类,例如
class Profile extends CActiveRecord {
...
}
class Nationality extends CActiveRecord {
...
}
然后在Profile
模型中,您需要到 Nationality
的关系:
public function relations() {
return array(
'nationality' => array(self::BELONGS_TO, 'Nationality', 'nationality'),
),
}
关系'nationality'
的名称是您引用相关模型的方式,例如:
$profile = Profile::model()->findByPk($id);
echo $profile->nationality->short;
答案 1 :(得分:2)
Tahts的关系是什么:见relational model:
'nationality' => array(self::BELONGS_TO, 'Nationality', 'nationality')
Amd在您的视图中,如果您使用CDetailView,则可以通过其关系名称引用国籍,并使用点表示法调用其属性:
nationality.short
阅读CDetailView文档了解更多示例