通过后关系与类别相关联的表格帖子。我需要在帖子中设置关系以获取类别的标题。如何设置这种关系?
答案 0 :(得分:0)
嗯,这里有几个问题:
1)在定义模型时,您有多对多的关系。 Yii不知道会产生多对多关系,因为它只关注1级关系。所以你们的关系可以得到改善
您应该发布一个看起来像
'categories' => array(self::MANY_MANY, 'categories', 'postrelations(category_id, post_id)', 'order'=>'.... ASC'),
你实际上有一个确切的多对多关系,所以你应该没有问题访问与$ post->类别的关系。几乎与为类别模型定义关系的方式完全相同,只需更改一些字段即可。
2)没有单一类别标题,你的帖子可以属于多个类别(如果它只属于一个那么你的表格就错了)。如果您想获得所有类别的名称,您可以使用
foreach($post->categories as $category) { ... }
或者(这是未经测试的,但它应该可行)以获得用昏迷分隔的类别的名称,你可以做一个
echo implode(",", CHtml::listData($post->categories, 'id', 'title')));