Cakephp フレームワークを使用してアプリケーションを開発していますが、これらのモデル間の関連性を完全に理解するのに苦労しています。以下に、関連するデータベース フィールドとともに 4 つのモデルを示します。
User
id
Profile
id
user_id
Post (A blog post on the users profile)
id
profile_id
topic_id
Topic (A topic for a blog post)
id
name
現在の協会は次のとおりです。
User
hasOne: Profile
Profile
hasMany: Posts
Post
belongsTo: Topic, Profile
今私の問題。のような関連付けを定義する必要があるのか 、それとも と が原因でUser hasMany Posts
既に想定されているのかはわかりません。私のもう 1 つの問題は、投稿とそのトピックの関係を定義することです。User hasOne Profile
Profile hasMany Posts
- プロファイルには無制限の投稿を含めることができます
- 投稿はプロフィールに関連付ける必要があります
- 投稿には 1 つのトピックのみを含めることができます
- トピック テーブルには、すべてのトピックのリストが含まれています
- 投稿にトピックは必要ありません
これらの基準が与えられた場合、関連付けはどのように表示されますか? アソシエーションに関して私が行ったすべての調査は、単純な例のみを示しています。
CakePHP バージョン 2.1.3 を使用しています
事前にすべてのヘルプおよび/またはアドバイスをありがとう