Вычисления в данных обратного вызова beforeValidate из отношения HasMany в cakephp - PullRequest
0 голосов
/ 20 сентября 2011

например.Счет-фактура hasMany LineItems

Когда создается новый счет-фактура, нам необходимо суммировать порядок итогов LineItem, чтобы установить сумму счета-фактуры.

Это можно сделать в обратном вызове afterSave, но предпочтительнее проверитьсначала подсчитывает и избегает лишних запросов к БД с использованием (beforeValidate).

Как мне лучше всего этого добиться?

1 Ответ

0 голосов
/ 21 сентября 2011

просто сделай в своем контроллере

$sum = array_sum(Set::classicExtract($this->data, 'Invoice.{n}.LineItems.price'));

$ сумма будет сумма вашего счета. Я предполагаю, что структура $ this-> data будет

$this->data['Invoice']
      [0] => ['LineItems'] => ['price']

если это неправильно, измените путь в соответствии с вашими потребностями или отредактируйте ваше сообщение, чтобы показать правильную структуру $ this-> data

надеюсь, это поможет вам

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...