cakePHPのデータベース利用について勉強中の者です.
こちらのページに記載されている内容に沿って知識を習得しています.
http://book.cakephp.org/2.0/ja/models/associations-linking-models-together.html#id2
読み進めていて思った事なのですが,
hasAndBelongsToMany(以下 HABTM と記す)はCakePHPで必要でしょうか?
このページの説明は次の通りです.
リレーションシップ アソシエーション名 例
1 対 1 hasOne ユーザーは1つのプロフィールを持っている
1 対 多 hasMany ユーザーは複数のレシピを持っている
多 対 1 belongsTo レシピはユーザーに属している
多 対 多 hasAndBelongsToMany レシピは材料を持っており、かつ属している
例えば次の様にするとHABTMを使用する必要はなくなると考えます.
userテーブル
(PK)id
recipeテーブル
(PK)id
(FK)user_id
Ingredientテーブル
(PK)id
(FK)recipe_id
私は以前1つのモデルにbelongsToとHABTMが設定されているプログラムを見たことがあります.実際の所そのプログラムは問題なく動いていました.
なのでbelongsToとhasManyの両方を記述してもプログラムは動作すると勝手に理解しております.
そうするとHABTMは中間となるテーブルを用意する必要もあるようですし,手間もかかり,利用するメリットが分かりません.
どのような場合に用いると良いのか教えてください.
よろしくお願いいたします.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。