私はこのようなモデル関係を持っています:
Project
hasManyhasMany SubProject
_Item
特定の に属するcontainable
すべての を検索できるように配列を設定し、結果をページ付けしたいと考えています。だから、私の中には:Item
Project
ItemsController
public $paginate = array(
'Item' => array(
'limit' => 10,
'order' => array('
'Item.create_time' => 'desc'
),
'contain' => array(
'SubProject' => array(
'Project'
)
)
)
);
明らかに、どこかに のような条件を配置する必要がありますが"SubProject.project_id = $pid"
、私が試したものは何も正しい結果をもたらしません。私が管理できる最善の結果は、次のようなものです。
Array
(
[0] => Array
(
[Item] => Array
(
[id] => 13
[file_name] => foo.tar.gz
.... other keys ...
[create_time] => 2013-01-23 14:59:49
[subProject_id] => 4
)
[SubProject] => Array
(
[id] => 4
[name] => foo
[project_id] => 2
..... other keys ....
[Project] => Array
(
)
)
)
[1] => Array
.....
編集:一致しないプロジェクトレコードを正確に省略しています。一致するプロジェクト レコードがないアイテム レコードをスキップしたい。
joins を手動で指定することは私の頭をよぎりましたが、それは必要ではないと感じています。
これは明らかなように思えますが、残念ながら、解決策は私にはわかりません。