public function load($data, $formName = null) { $loaded = parent::load($data, $formName); if (!$this->date) { $this->date = date('Y-m-d H:i:s'); } else { $this->date = date('Y-m-d H:i:s', strtotime($this->date)); } $scope = $formName === null ? $this->formName() : $formName; if (isset($data[$scope])) { if (isset($data[$scope]['outgoing'])) { foreach ($data[$scope]['outgoing'] as $key => $outgoing) { if (isset($this->outgoings[$key])) { $loaded &= $this->outgoings[$key]->load($outgoing, ''); } else { $out = new TransactionOutgoing(); $out->id = $key; $loaded &= $out->load($outgoing, ''); $this->outgoings[] = $out; } } } if (isset($data[$scope]['incoming'])) { foreach ($data[$scope]['incoming'] as $key => $incoming) { if (isset($this->incomings[$key])) { $loaded &= $this->incomings[$key]->load($incoming, ''); } else { $in = new TransactionIncoming(); $in->id = $key; $loaded &= $in->load($incoming, ''); $this->incomings[] = $in; } } } if (isset($data[$scope]['expense'])) { foreach ($data[$scope]['expense'] as $key => $expense) { if (isset($this->expenses[$key])) { $loaded &= $this->expenses[$key]->load($expense, ''); } else { $exp = new TransactionExpense(); $exp->id = $key; $loaded &= $exp->load($expense, ''); $this->expenses[] = $exp; } } } } return $loaded; }