したがって、3 つのテーブルとそれに続く 3 つのモデルがあります。
Company (table: companies)
Person (table: people)
Address (table: addresses)
各個人または会社が複数のアドレスを持つことができることを考慮して、これらをどのように接続するか、しかしアドレスは同じ形式であるため、単一の「アドレス」テーブルを使用したいので、アドレスの取引/管理は単一のテーブルで行うことができますモデル?
この構造のため:
companies(id, name, ...)
people(id,name, ... )
addresses(id, foreign_id, foreign_model, ...)
私には少し場違いなようです。基本的にこれが現在の構造です。「foreign_model」フィールドは、住所が属するモデル (つまり、Company または Person) を指定する文字列です。
これはすべてCakephpの下にありますが、この構造には多くの問題があります。代わりに何を使用すればよいですか?