1

私はこれまで経験したことのないほど複雑なDBを備えた「イエローページ」のようなサイトを開発しています。

例:このDBには3つのテーブルがあります。1。組織–いくつかの一般的な情報が含まれています。2.サービス-提供できるすべてのサービスのリスト。3.関係テーブル。

組織のテーブル構造:

id    name         city       phone      etc.
1     CompanyName  Farewell   987-65-43

サービステーブルの構造:

id    ServiceType  
1     purchase  
-----
2     sale  
-----
3     exchange 

など。あなたはポイントを取得します

そして関係テーブルの構造:

id    OrganisationID   ServId      
1     1                2
----
2     1                3
----   
3     1                6
----
4     2                3

Webサイトの出力では、提供するすべてのサービスを備えたすべての組織のリストが必要です。

Cakeの構文と規則を使用してこのすべてのテーブルを組み合わせる方法を完全に理解することはできません(CookBookの「モデルを一緒にリンクする」セクションを読んだ後でも)。

このデータを取得する機能を備えたCakeのモデル/モデル(必要な数はいくつですか?)の例を誰かに提供していただければ幸いです。

4

1 に答える 1

4

あなたの質問にはコメントできないので、ここで質問します...

組織は多くのサービスを持つことができ、サービスは多くの組織を持つことができますか?それはHABTM関係ですか?(チェックしてるだけ...)

もしそうなら、私はこれを編集してあなたに答えを与えることを試みます。:)

編集:

テーブル

1. table: organisations
2. table: services
3. table: organisations_services (sorted alphabetically)


1. table: id, name, city...
2. table: id, service_type
3. table: id, organisation_id, service_id (singular, sorted alphabetically)

モデル

組織-組織モデル内には、次のものが必要です。

var $hasAndBelongsToMany = array('Service');

サービス-サービスモデル内には、次のものが必要です。

var $hasAndBelongsToMany = array('Organisation');

そしてそれがすべてです。他のすべては美しいケーキに任せます。:)何かわからないことがあれば、遠慮なく質問してください。ここでより多くの情報を得ることができます。

于 2012-09-09T14:47:08.700 に答える