public function relations()
{
return array(
'category'=>array(self::BELONGS_TO,'category','cat_id'),
);
}
'VarName'=>array('RelationType', 'ClassName', 'ForeignKey', ...additional options)
RelationType关系类型
BELONGS_TO(属于): 如果表 A 和 B 之间的关系是一对多,则 表 B 属于 表 A (例如 Post 属于 User);HAS_MANY(有多个): 如果表 A 和 B 之间的关系是一对多,则 A 有多个 B (例如 User 有多个 Post);HAS_ONE(有一个): 这是 HAS_MANY 的一个特例,A 最多有一个 B (例如 User 最多有一个 Profile);MANY_MANY(多对多) 这个对应于数据库中的 多对多 关系。由于多数 DBMS 不直接支持 多对多 关系,因此需要有一个关联表将 多对多 关系分割为 一对多 关系。在 AR 术语中,我们可以解释 MANY_MANY 为 BELONGS_TO 和 HAS_MANY 的组合。$posts=Post::model()->with('category')->find();
$posts->category->title;
在定义关系时 也可以指定需要查询的数据以及其他一些额外的信息:
‘select’,‘condition’,‘order’,‘with’,‘joinType’,‘alias’
yii通过关联操作获取数据:
foreach($data as $val){
$tags[] = $val -> content;
}
$userStr = implode(',', $tags);