У меня есть модель работы. Он связан в базе данных с Приказом с отношением sort. Итак, мне нужно найти конкретные рабочие условия, условия, связанные с моделью Заказов. Так, когда я использую, например, сосут вид поиска:CakePHP join tables in find query
$workpositions = $this->Workposition->find('all', array(
'conditions' => array(
'Order.type' => 'N'
)
));
CakePHP понять Order.id
обозначения. Но когда я пытаюсь использовать объединение таблиц:
$workpositions = $this->Workposition->find('all', array(
'conditions' => array(
'Order.type' => 'N'
)
'joins' => array(
array('table' => 'ordergroups_orders',
'alias' => 'OrdergroupsOrder',
'type' => 'INNER',
'conditions' => array(
'Order.id = OrdergroupsOrder.order_id',
'OrdergroupsOrder.ordergroup_id' => '3',
)
)
)));
Это дает мне ошибку: Column not found: 1054 Unknown column 'Order.id' in 'on clause'
. Поэтому он не понимает Order.id
обозначение. В чем проблема?
Я пытался также сделать что-то вроде этого:
$workpositions = $this->Workposition->find('all', array(
'conditions' => $conditions,
'joins' => array(
array('table' => 'orders',
'alias' => 'Orders',
'type' => 'INNER',
),
array('table' => 'ordergroups_orders',
'alias' => 'OrdergroupsOrder',
'type' => 'INNER',
'conditions' => array(
'Orders.id = OrdergroupsOrder.order_id',
'OrdergroupsOrder.ordergroup_id' => $ordergroup_ids,
)
)
)));
Но я получаю столбец ошибки не найден: 1054 Неизвестный столбец «Массив» в «на пункте» (массив для преобразования строки). Таким образом, он не выделяет и массив идентификаторов, в то время как он выделяет его без привязки модели Order, когда метод find видит Order.
Я думаю, вам нужно связать модель заказа с этим –
@MdHasiburRahaman, я добавил код. Это не помогает – Vladislav