У меня следующая проблема с CakePHP:
В моей модели депозит принадлежит учетной записи, а учетная запись принадлежит клиенту.
При запросе депозитов я получаю информацию об учетной записи, но не информацию о клиенте по умолчанию.
Если я установлю для Deposit-> recursive значение 2, я получу информацию о клиенте (и многое другое), но CakePHP, по сути, выбрасывает один SELECT на каждый депозит, что довольно плохо в этом случае.
Итак, я сделал это:
'joins' => array(
array('table'=>'customers', 'alias'=>'Customer', 'type'=>'left', 'foreignKey' => false, 'conditions'=>array('Account.customer_id = Customer.id'))
)
, который почти работает ...
Что я получаю от этого, по сути:
SELECT (...) FROM Deposits LEFT JOIN Customers LEFT JOIN Accounts
вместо
SELECT (...) FROM Deposits LEFT JOIN Accounts LEFT JOIN Customers
, что, конечно, не работает.
Можно ли вообще указать, что «мои пользовательские объединения» должны идти после «регулярных объединений моделей»?
Или мне нужно вручную отменить привязку депозита от учетной записи и указать оба соединения вручную?
Спасибо!
Даниэль