2010-12-31 13 views
1

私はcakephpアプリに本当に必要なHABTM関係の数を決定するのに苦労しています。私は本当に "持っている"ものが得られていないと思う。私は、必要以上にHABTMのテーブルを増やしたくありません。ここで私は自分のデータベースを持っているものです。cakephpのHABTM関係の数が多すぎますか?

Users 
Properties 
Leases 
Payments 
Repairs 

user HABTM propertiesuser HABTM leasesuser HABTM usersuser HABTM repairsproperty hasManyのrepairsproperty hasManyのleaseslease hasManyのrepairs

また、usersモデル(managertenant)には2つのエイリアスがあります。これは、私が非常に多くのHABTM関係を終えた理由の1つですが、必要であるとは確信していません。

ユーザーHABTMの関係が多すぎますか?私のモデルを通してケーキを繰り返すほうがいいですか?

ありがとうございます!

答えて

2

これはかなり主観的な質問です。つまり、自分のコードを知っている人だけがあなたが決めることができるのです。次の条件が厳密に満たされているかどうかを確認するのが最善の方法です。Xは実際に多くのYを所有していますか?

たとえば、Userには本当に多くのものがありますPayment?またはUserLeaseLeasePaymentsですか? RepairsおよびPropertiesと同じです。

が多すぎるのCakePHPに関する限り、私はそれについて心配しません。 find()recursiveプロパティをContainableまたはun/bindModel()に設定すると、これらの関係をすべて使用する場合にも制限があります。

+0

私は冗長な関係を取り除くことに決めました。だから、私はもっとクリーンなものに残っています。ありがとう! – Ben

+0

最後のこと:今は 'managers'と' tenants'を 'managers_tenants'テーブルにリンクしています。しかし、 'マネージャー' HABTMと ''テナント 'HABTM' 'リース' 'が' 'マネージャー' 'と' 'テナント' 'を共通の' 'リース' 'モデルで結びつけるようにする方が良いでしょうか?私はこれも私のコードに依存すると思います。 – Ben

+0

それはありますか?しかし、個人的には、これらのことはLeaseモデルを使って行うべきだということに私は同意するでしょう。実際、「ユーザー」を「マネージャー」と「テナント」に区別する方法が難しい部分です。 –

関連する問題