CakePHPの「contain」を使用してEvent-> Venue-> Cityから「City」データを取得しようとしています

StackOverflow https://stackoverflow.com/questions/6378701

質問

eventsのリストを返そうとしていますが、それが行われている場所にcityを含めています。ただし、この都市は、イベントのVenueを介してのみ関連付けられます。

以下は私が使用しているコードです。すべての正しいデータを返しますが、都市データは返しません(Venueのcity_idフィールドを除く-なぜ返されるのかわかりません)。

関連付け: ジェネラコディセタグプレ

コード: ジェネラコディセタグプレ

ボーナスの回答:(現在別のStackOverflowの質問)-日付条件は、表示されるイベントをフィルタリングすることになっていますが、代わりに、表示する日付データのみをフィルタリングしています。


作業回答:(バンサーに感謝) ジェネラコディセタグプレ

役に立ちましたか?

解決

Containableの使用は避けることをお勧めします。場合によっては、生成されるクエリが多すぎます。複雑なクエリのより良い方法は、テーブルを「手動で」結合することです。p>

私が最初に検討するもう1つのオプションは、次のようにContainableを使用せずに「Venue」モデルを検索することです:$this->Event->Venues->find('all', ...)。都市やイベントに直接関連する会場として、余分な複雑さなしにあなたが望むものを手に入れることが可能であるはずです。

更新:質問 CakePHPの「結合」の順序を変更するにはどうすればよいですか?

他のヒント

格納可能ではなく、fields=> array( ''、 ''、 'City.name)によってフィールド自体に都市データを含めようとしましたか

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top