現在cakePHPでデータベースを勉強中の者です.
こちらのサイトに掲載されている情報に沿ってデータベースの扱い方を勉強しているところです.
http://book.cakephp.org/2.0/ja/models/associations-linking-models-together.html#id2
まだこのページのbelongsToの項目までしか知識が無いのですが,私の理解度が乏しく,hasOneとbelongsToを1対1,多対1,と考える事に納得できません.
これら2つは対になっていて読み取る側と読み取られる側のどちらを基準に考えるかで使い分けると理解しています.なので私は基準が変わると1対1になったり,多対1になるという部分が腑に落ちません.
例えば[ユーザテーブル]と[プロフィールテーブル]があり,プロフィールテーブルに"user_id"という項目があったとします.
場合1)ユーザモデルからプロフィールテーブルの情報を読み取る際
ユーザモデルにはhasOneを記述(1対1)
これはユーザを基準にしていて,1つのユーザにつき1つのプロフィールがあると考えれば納得できます.
場合2)プロフィールモデルからユーザテーブルの情報を読み取る際
プロフィールモデルにbelongsToを記述(多対1)
これは基準がプロフィールになっていて,実際は場合1と同じく1つのプロフィールにつき1つのユーザのはず,なのでこの場合もユーザとプロフィールの関係は1対1だと思うのですが….
cakePHPだけがこの考え方なのでしょうか?
これらの分かりやすい例え方等があれば教えてください.
よろしくお願いいたします.
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。