public function addPopulationTarget(TCombo $alvo, $model, $frm, $key_busca, $value, $key_valor, $ordercolumn = null) { if ($this->changeaction) { // carrega objetos do banco de dados TTransaction::open($this->banco); // instancia um repositório de Estado $repository = new TRepository($model); $criteria = new TCriteria(); $criteria->setProperty('order', isset($ordercolumn) ? $ordercolumn : $key_busca); $criteria->add(new TFilter($key_busca, '=', $key_valor)); // carrega todos objetos $collection = $repository->{$model}; $items = array(); foreach ($collection as $object) { $items[$object->{$key}] = $object->{$value}; } TCombo::reload($frm, $alvo->getName(), $items); TTransaction::close(); } else { throw new Exception('you need delcare changeaction first'); } }