我使用CakePHP中可容納檢索相關模型CakePHP的中容納爲了不工作
$this->Order->find('first',
array(
'conditions'=>$conditions,
'contain' =>
array(
'OrderItem'=>array(
'Item'=>
array(
'order' => array('Item.item_number ASC')
)
),
'Location','Campaign', "Customer")
)
);
我使用這生成發票,並希望通過有ITEM_NUMBER排序的項目。
但由於某種原因,這種行不通。
任何想法?
生成的SQL很長。但你可以從這個片段中看到問題order by
是在錯誤的查詢 - - 即在由ID選擇的項目 - 只有一個項目。 (也有是在訂單的每個項目一個單獨的查詢。)
SELECT `OrderItem`.`order_id`, `OrderItem`.`item_id`,
`OrderItem`.`quantity`, `OrderItem`.`id` FROM `order_items` AS `OrderItem` WHERE
`OrderItem`.`order_id` = (3144)
而且
SELECT `Item`.`id`, `Item`.`campaign_id`, `Item`.`item_number`, `Item`.`description`,
`Item`.`order_unit`, `Item`.`order_price`, `Item`.`maxQuantity`, `Item`.`sale_unit`,
`Item`.`sale_price`, `Item`.`approx`, `Item`.`min_weight`, `Item`.`max_weight`,
`Item`.`avail`, `Item`.`filename` FROM `items` AS `Item` WHERE `Item`.`id` = 122
ORDER BY `Item`.`item_number` ASC
我想看到的是第一個查詢由ITEM_NUMBER做inner join Items.id on OrderItem.item_id
,並命令查詢,但我看到containable
爲每個相關模型生成單獨的查詢。
我結束了剛剛創建usort函數來排序的OrderItems ..... – josephtikva1