我怎样才能将Yii模型与自身联系起来?

时间:2012-06-28 15:34:25

标签: mysql yii relational-database

我有两张桌子:

tags
---
id
name
etc..

tags_synonyms
---
tag_id
syn_id

syn_id是同义词标记的id,tag_id反映实际使用的“root”标记。这些同义词仅用于为引用的标记提供备用拼写/ etc,并通过查找根标记。 (如果它们应存放在单独的表格中,请纠正我)

所以我在Yii中创建了一个模型Tag,但我不确定如何设置它的关系。

我希望能做的是: $ tag->同义词和$ tag-> root分别抓取所有同义词和一个根标记。

我如何设置这两件事的关系?

2 个答案:

答案 0 :(得分:0)

只需查看此链接即可了解有关如何在Yii Framework中建立关系的更多信息 http://www.yiiframework.com/doc/blog/1.1/en/post.model#customizing-x-16x-method

应在TagsSynonyms model

中声明关系
public function relations()
  {
    return array(
      'synonymstags' => array(self::BELONGS_TO,'TagsSynonyms','tag_id'),
    );
  }

应在Tags model

中声明关系
  public function relations()
  {
    return array(
      'tags' => array(self::HAS_MANY, 'Tags', 'tag_id'),
    );
  }

答案 1 :(得分:0)

我最后只是将一个linked_to根词列添加到tags表中,并使用它来引用同义词中的主词。