0

私は2つのテーブルを持っています:

tags
---
id
name
etc..

tags_synonyms
---
tag_id
syn_id

syn_id はシノニム タグの ID であり、tag_id は実際に使用される「ルート」タグを反映します。シノニムは、タグがルートタグを参照して検索するための代替スペル/その他を提供するためにのみ存在します。(別のテーブルに保存する必要がある場合は修正してください)

そこで、Yii でモデル タグを作成しましたが、関係をセットアップする方法がわかりません。

私ができるようにしたいのは、$tag->synonyms と $tag->root を実行して、すべての同義語と 1 つのルート タグをそれぞれ取得することです。

これら 2 つの関係をどのように設定すればよいでしょうか。

4

2 に答える 2

0

このリンクを確認してください..Yii フレームワークで関係がどのように作成されるかについて詳しく知るには 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'),
    );
  }
于 2012-06-28T15:37:39.113 に答える
0

最終的には、linked_to ルート ワード列をタグ テーブルに追加し、それを使用してシノニムからメイン ワードを参照するだけになりました。

于 2012-07-01T20:24:28.843 に答える