CakePHP Find Query SUM () двух полей из двух разных таблиц - PullRequest
0 голосов
/ 09 декабря 2011

Я использую CakePHP Find запрос, чтобы получить SUM() из двух полей diff в двух таблицах diff db:

$total = $this->Model->find('all',array('fields' =>
array(
  'SUM(Model1.amount * Model2.purchase * Model3.rental * Model4.manu) as total'),
  'group' => array( 'Model.trackby_id' ) )
);

Я обнаружил, что метод sum() полезен для тех же таблиц двух полей diff, но онне работает, когда два поля diff из таблиц diff.

У кого-нибудь есть решение для этого?

1 Ответ

3 голосов
/ 09 декабря 2011

Вам необходимо указать свой фрагмент SQL в массиве fields в параметрах метода find .

$total = $this->Model->find('all', array(
  'fields' => array(
    'SUM(Model.price + OtherModel.price) AS total'
  ),
  'group' => 'Model.id'
));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...