私はCakePHP1.2.6を使用しており、次の関係があります。
ショーケースHABTMユーザーbelongsToGalleryitemhasOne Image
Showcaseに関連するすべてのデータを取得しようとしています。そのため、Galleryitem->Imageを使用してすべてのユーザーも取得しています。次のクエリを使用します。
$showcase = $this->Showcase->find('first',
array('conditions'=>array('Showcase.id'=>$id),
'contain'=> array(
'User' => array(
'Galleryitem' => array(
'Image'
)
)
)
)
);
これにより、の配列が返され、空の配列が返さGalleryitem
れるため、Image
レコードはまったく返されません。私が以下を試してみると:
$showcase = $this->Showcase->User->find('first',
array(
'contain'=> array(
'Galleryitem' => array(
'Image'
)
)
)
);
私はここでいくつかのデータを取得しますImage
。ですから、ここでは深さが役割を果たしているようです。
頭に浮かんだ他の要因は、との間の関係belongsTo
でした。User
Galleryitem
クエリが深さ3のデータを返さない原因は何ですか?
更新
ショーケースリレーションのセットは、私のプロジェクトでは、上記で説明したよりもはるかに分岐しています。他のすべてのブランチは適切に表示されます。したがって、このブランチの特定の関係に関係していると思いますUser belongsTo Galleryitem
。
他のブランチにはこれとまったく同じGalleryitem hasOne Image
関係のセットが含まれているため、さらに奇妙です。