function executeSavePermiso() { // borrar todo los permisos para un usuarios determinado $rolId = $this->getRequestParameter('id'); $aPermiso = $this->getRequest()->getParameterHolder()->get('rolPermisos'); $c = new Criteria(); $c->add(RolPermisoPeer::FK_ROL_ID, $rolId); RolPermisoPeer::doDelete($c); if (count($aPermiso) > 0) { // grabar todos los que vienen seleccionados // aqui se debe poder grabar haciendo un solo insert $c = new Criteria(); foreach ($aPermiso as $permisoId) { $p = new RolPermiso(); $p->setFkRolId($rolId); $p->setFkPermisoId($permisoId); $p->save(); unset($p); } } $this->getUser()->setFlash('notice', 'Los permisos para este Rol fueron actualizados correctamente.'); return $this->redirect('rol/editPermiso?id=' . $rolId); }
public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME) { $keys = RolPermisoPeer::getFieldNames($keyType); if (array_key_exists($keys[0], $arr)) { $this->setId($arr[$keys[0]]); } if (array_key_exists($keys[1], $arr)) { $this->setFkRolId($arr[$keys[1]]); } if (array_key_exists($keys[2], $arr)) { $this->setFkPermisoId($arr[$keys[2]]); } }
public static function retrieveByPKs($pks, PropelPDO $con = null) { if ($con === null) { $con = Propel::getConnection(RolPermisoPeer::DATABASE_NAME, Propel::CONNECTION_READ); } $objs = null; if (empty($pks)) { $objs = array(); } else { $criteria = new Criteria(RolPermisoPeer::DATABASE_NAME); $criteria->add(RolPermisoPeer::ID, $pks, Criteria::IN); $objs = RolPermisoPeer::doSelect($criteria, $con); } return $objs; }
public function getRolPermisosJoinPermiso($criteria = null, $con = null, $join_behavior = Criteria::LEFT_JOIN) { if ($criteria === null) { $criteria = new Criteria(RolPeer::DATABASE_NAME); } elseif ($criteria instanceof Criteria) { $criteria = clone $criteria; } if ($this->collRolPermisos === null) { if ($this->isNew()) { $this->collRolPermisos = array(); } else { $criteria->add(RolPermisoPeer::FK_ROL_ID, $this->id); $this->collRolPermisos = RolPermisoPeer::doSelectJoinPermiso($criteria, $con, $join_behavior); } } else { $criteria->add(RolPermisoPeer::FK_ROL_ID, $this->id); if (!isset($this->lastRolPermisoCriteria) || !$this->lastRolPermisoCriteria->equals($criteria)) { $this->collRolPermisos = RolPermisoPeer::doSelectJoinPermiso($criteria, $con, $join_behavior); } } $this->lastRolPermisoCriteria = $criteria; return $this->collRolPermisos; }