0

私は次のDB関係を持っています:

Building hasMany Shape

Appartment hasOne Shape

Building hasMany Appartment

Shape belongsTo Building & Appartment

ここで、Shapeモデルで、特定の建物に属するすべての形状を取得したいと思います。これには、この特定の建物に属するアパートに属する形状が含まれます。

例えば

Building 'X'

There are 4 shapes directly linked to building X via the belongsTo Building relation. Shape->Building

And there are 2 shapes directly linked to 2 appartments via the belongsTo Appartment relation. These 2 appartments again are directly linked to Building X via the belongsTo Building relation. Thus these 2 shapes are indirectly linked to building X. Shape->Appartment->Building

私はこれに頭を悩ませているようには見えません、助けていただければ幸いです。

4

4 に答える 4

2

CakePHPのContainableBehaviorを使用してください。

于 2012-04-04T14:06:13.607 に答える
0

また、形状を独自のテーブルとして使用することを再検討することもできます。

たとえば、テーブルに適切に1つしかなく、次のようになっている場合:

shapes
id     int
shape  varchar 50

代わりにこれを行います:

buildings
id    int
bulding_number  int
shape varchar 50
...
appartments
id    int
appartment_number  int
shape varchar 50
...

建物とアパートの両方のテーブルで形状を適切に選択できるようにする方が簡単です。データベースはよりシンプルで高速になり、プログラミングも簡単になるでしょう。

ただし、キャプチャしたい形状の他のプロパティがある場合は、すぐに実行してください。

于 2012-05-04T19:11:53.667 に答える
0

あなたの発見であなたの再帰的価値を上げてそれを試してください。

于 2012-04-04T14:28:37.873 に答える
0

'threaded'関数でこの句を使用できますfind
ここで構文例を参照してください:http://book.cakephp.org/1.3/view/1018/find

親子関係にあるすべての依存データを提供します

于 2012-09-15T06:59:48.917 に答える