2011-12-08 5 views
0

私は住宅ユニットを表示するアプリを借りています。私はCakephpで私のユニットモデルを定義する方法を理解しようとしています。私はユニット、複合体、ユーザーという3つのテーブルを持っています。2つ以上のテーブルに参加するcakephp

私は単位$ belongsTo 'User'を知っていますが、すべての複合体が多くの単位を持つことができるので、 'Complex'にも属しています。私はこれを書くことができますか?

<?php 
    class Unit extends AppModel { 
     var $name='Unit'; 
     var $belongsTo=array('User', 'Complex'); 

} ?>

私も、私は、ユーザーが多くの複合体を持つことができ、複雑で多くのユーザーを持つことができるよう、ユーザーとコンプレックスのために私のクラスを定義する方法を確認していないことを追加する必要があります。もしそれがあれば、それはまたそれに属しますか?これはHABTMですか?私は非常に混乱しています(初心者)。

答えて

0

ユーザーのようなサウンドは多くの複合体を持ち、複合体は多くのユーザーに属します。 これはHABTMです。

ユーザーは複数のユニットを持つことができますが、1つのユニットには1人のユーザーしかいません。これはhasManyとbelongsToです。

ユニットとコンプレックスの関係について、コンプレックスが多くのユニットを持つことができる場合、これはhasManyです。私はそれが当てはまると思います。私はまた、ユニットが複雑なだけでなく、ユーザに属していると推測します。これは問題ありません。ユニットは、HABTMを必要とすることなく、または必要とせずに、ユーザと複合施設の両方に属します。

私は上記のあなたの関係を定義しました。 hasManyとbelongsToを定義する方法を知っているようですので、このページで説明しているようにHABTMを設定してください:(データベースに余分なテーブルが必要であり、データベースを追加することを忘れないでください他の関係に必要な列)。

http://book.cakephp.org/view/1044/hasAndBelongsToMany-HABTM

幸運。

+0

ありがとうございました。私は、ユーザーが多くのユニットを持つことができますが、各ユニットは1人のユーザーしか持てないと言っていただけです。だから私はこれがうんざりではないと言っていますが、正しいのですか? – huzzah

+0

それは正しいです。私はそれを反映するために私の答えを更新しました。私の答えが役に立つと分かったら、それを答え(投票数の左側のチェックボックス)としてマークすることを検討してください。 – swiecki

関連する問題