У меня возникла проблема с CakePHP Найти метод с JOIN и bindModel .
У меня есть 2 таблицы, Заказчик и Заказ .
В таблице заказов есть все записи заказов для Клиента.
Теперь в одном запросе мне нужно Customer record
с Total
причитающейся или общей заказанной суммой.
Когда я пытаюсь использовать этот запрос, он возвращает только одну запись.
$this->Customer->bindModel(['hasOne'=>['Order'=>['fields'=>['SUM(Order.due_amount) as due']]]],false);
$data = $this->Customer->find('all',[ 'conditions' => [ 'Customer.type' => 2,'Customer.status'=>1] ]);
2-й, когда я пытаюсь использовать JOIN, все еще не получаю правильный результат
$data = $this->Customer->find('all',[
'conditions' => [ 'Customer.type' => 2,'Customer.status'=>1],
'joins' =>[[ 'table' => 'orders', 'alias' => 'Order',
'type' => 'RIGHT', /*LEFT/INNER*/
'fields'=>['SUM(Order.due_amount) as due'],
'conditions' => [ 'Order.customer_id = Customer.id']]]]);
Используя оба метода, я не получаю правильный результат
Мне нужен такой результат
Array(
[0] => Array ( [Customer] => Array ( /*all Customer table fields */ ) [Order] => Array ( [due] => 125.25))
[1] => Array ( [Customer] => Array ( /*all Customer table fields */ ) [Order] => Array ( [due] => 10.00))
[2] => Array ( [Customer] => Array ( /*all Customer table fields */ ) [Order] => Array ( [due] => 500.10))
.... so on
)