0

タグ クラウドについて少し調べた結果、次のページ ( http://www.pui.ch/phred/archives/2005/04/tags-database-schemas. html

現在、私が作成したテーブルは次PostsのとおりですPostsTagMapsPostsTags

PostsTagMaps1)コントローラーを使用する予定がない場合でも、テーブルを作成する必要がありますか?

2) PosthasMany PostTagMaps。この関係をどこで定義すればよいかわかりません。Post私はそれがモデルであるべきだと思いますが、PostsTagsテーブルにPostTagsMaps参加してから に参加する必要がPostsあるので、アドバイスを求めたいと思いました。

4

1 に答える 1

1

簡単な解決策は、Cake の規則に従うことです (これは、リンク先の解決策と非常によく似ています)。次の 3 つのテーブルがあります。

poststagsposts_tags

次に、Postモデル HABTMTagモデル。結合テーブルは、情報を保存および取得するために Cake によって自動的に使用されます。スキーマの設定の詳細については、書籍を確認してください。

Cake は、好きなようにできる十分な柔軟性を備えていますが、基本的な種類の投稿とタグの関係である場合は、慣習的な方法が適しています。

のようなカスタム モデル/テーブルを使用する場合PostsTagMapsは、HABTM 関係定義で「with」キーを使用してこれを行います。「with」キーは、自動生成されたバージョンの代わりに特定のモデル (したがって特定のテーブル) を使用するよう Cake に指示します。この場合、タグ モデルは のように聞こえPostsTags、HABTM テーブルはであるため、 HABTMPostsTagMapsの「with」キーは になります。PostPostsTagPostsTagMap

于 2012-03-26T22:07:13.180 に答える