1

CakePHP で、$hasOne 関係を構築しようとしていますが、テーブルに外部キーを追加できません (従来の理由により)。結合テーブル (object1_object2) を作成して、このようにリンクする方法はありますか? Cake の強力なオブジェクト関係機能を活用したいので、find() ごとにカスタムの $options 配列を常に構築することなく、このカスタムの関連付けをモデル全体で永続的にできる方法があれば、それは素晴らしいことです。(モデルの initalize() 内の bindModel でしょうか?)

ありがとう!

4

2 に答える 2

2

結合テーブルを使用する場合は、「多数」を持つことはありませんが、hasAndBelongsToMany (HABTM) 関係を使用する必要があると思います。データは明らかに標準の hasOne 関係とは異なる動作をしますが、少なくとも関係は存在します。

hasOne リレーションシップの「条件」フィールドを使用して回避する方法があるかもしれませんが、外部キーを指定する必要があると思われます (または、とにかくデフォルトで「object2_id」になります)。その外部キーに基づいて結合します。

于 2010-09-23T07:53:13.740 に答える
0

これがあなたが探しているものだと思います。http://www.packtpub.com/article/working-with-simple-associations-using-cakephpここにもう1つありますhttp://debuggable.com/posts/modeling-relationships-in-cakephp-faking-rails-throughassociation :480f4dd6-b990-485e-abe4-4baccbdd56cb

于 2010-09-22T15:39:20.963 に答える