Я, наверное, здесь упускаю что-то болезненно очевидное. Я пытаюсь объединить несколько таблиц в Cake, но я получаю только поля из первой таблицы. Рассмотрим следующий код ..
$joins = array();
$joins[] = array(
'table' => 'products',
'alias' => 'Product',
'type' => 'LEFT',
'conditions' => array(
'Device.id = Product.device_id'
)
);
$joins[] = array(
'table' => 'pricepoints',
'alias' => 'Pricepoints',
'type' => 'LEFT',
'conditions' => array(
'Pricepoints.product_id = Product.id'
)
);
$all_products = $this->Device->find('all', array("joins" => $joins);
И это возвращает следующий SQL
SELECT `Device`.`id`, `Device`.`manufacturer_id`, `Device`.`name`, `Device`.`type_id`, `Manufacturer`.`id`, `Manufacturer`.`name` FROM `devices` AS `Device` LEFT JOIN products AS `Product` ON (`Device`.`id` = `Product`.`device_id`) LEFT JOIN pricepoints AS `Pricepoints` ON (`Pricepoints`.`product_id` = `Product`.`id`) LEFT JOIN `manufacturers` AS `Manufacturer` ON (`Device`.`manufacturer_id` = `Manufacturer`.`id`)
есть. он возвращает только поля из родительской модели, т.е. Устройство. Как мне получить, чтобы выбрать все поля из объединения? Я предполагаю, что это связано с тем, как у меня настроены модельные отношения, но я думаю, что они настроены правильно.
Кто-нибудь совет?