public function loadFromArray(array $data = array()) { foreach ($data as $key => $value) { if ($key === 'accounts') { $accounts = new AccountCollection(); foreach ($value as $accountData) { $class = 'Model\\WealthbotRebalancer\\Account'; $account = new $class(); $account->loadFromArray($accountData); $accounts->add($account, $account->getId()); } $this->setAccounts($accounts); } elseif ($key === 'ria') { $class = 'Model\\WealthbotRebalancer\\Ria'; $ria = new $class(); $ria->loadFromArray($value); $this->setRia($ria); } elseif ($key === 'portfolio') { $class = 'Model\\WealthbotRebalancer\\Portfolio'; $portfolio = new $class(); $portfolio->loadFromArray($value); $this->setPortfolio($portfolio); } elseif ($key === 'job') { $class = 'Model\\WealthbotRebalancer\\Job'; $job = new $class(); $job->loadFromArray($value); $this->setJob($job); } else { $this->{$key} = $value; } } }