public function getElementoUnico() { if (!$this->getPrimaryKey()) { return null; } //if (!$this->esTipoLista()) //{ $lista = $this->getItemBases(); //en realidad deberÃa haber solamente uno. Si no existe, crearlo!. if (!sizeof($lista)) { $item_base = new ItemBase(); $item_base->setIdCampo($this->getPrimaryKey()); } else { $item_base = $lista[0]; } return $item_base; //} //else //{ // return null; //} }
protected function getItemOrCreate($id_item = 'id_item_base') { if (!$this->getRequestParameter($id_item)) { $campo = $this->getCampoOr404(); $item = new ItemBase(); $item->setIdCampo($campo->getIdCampo()); $item->setOrden($campo->getPosicionSiguienteItem()); } else { $c = $this->getCriterio(); $c->addAnd(ItemBasePeer::ID_ITEM_BASE, $this->getRequestParameter($id_item)); $item = ItemBasePeer::doSelectOne($c); $this->forward404Unless($item); } return $item; }