0

いくつかのモデルがあり、すべて適切な名前のモデル ファイルがあります。

$this->Property->PropertyImage->Image->read();

すべてがそれに応じてリンクされています。問題は、再帰モデルがすべての関係にアタッチできず、何らかの理由で on を実行するとデータ型が返されるAppModelことです。私がするとき、私はデータ型を取得します: .var_dump$this->PropertyImagevar_dump($this->Property);Property

ここで何が起こっているのですか、これが起こる原因は何ですか? また、どうすればこの問題を解決できますか?

4

2 に答える 2

0

マルコが言ったことに基づいて、HABTM 関係がある場合、最善の策は、結合テーブル、properties_images を使用することです。

次に、Property->PropertyImage->Image を実行する代わりに、Property->Image->read/find() を実行します。

HABTM 関係について理解できなかったのは、関連モデルの条件に基づいてフィルター処理する方法です。たとえば、これを行うことはできません:

$this->Property->Image->find( 'all', array( 'conditions' => array( 'Image.id' => 7 ) ) );

代わりに、 http: //book.cakephp.org/view/474/Containable のマニュアルで説明されているように、Property モデルに Containable 動作を追加する必要があります。

于 2010-02-10T16:54:08.547 に答える
0

アプリケーションにPropertyImageモデルがありますか、それとも HABTM アソシエーションですか? hasAndBelongsToMany Image を持つプロパティがある場合properties_images、データベースにピボット テーブル ( ) が必要ですが、PropertiesController から Image モデルにアクセスするには$this->Property->Image、間に何も入れずに行います。

于 2010-02-10T05:52:56.890 に答える