public static function fromArray($data) { $settings = new UserRoles(); foreach ($data as $key => $value) { if (property_exists(get_class($settings), $key)) { if ($key == "userRoles") { $_tmp = new Roles(); foreach ($value as $keys => $val) { $_tmp = Roles::fromArray($val); $myArray[] = $_tmp; } $settings->{$key} = $myArray; //var_dump($myArray); } } } // var_dump($settings); return $settings; }
function createRole($aData) { $con = Propel::getConnection(RolesPeer::DATABASE_NAME); try { $con->begin(); $sRolCode = $aData['ROL_CODE']; $sRolSystem = $aData['ROL_SYSTEM']; $status = $fields['ROL_STATUS'] = 1 ? 'ACTIVE' : 'INACTIVE'; $oCriteria = new Criteria('rbac'); $oCriteria->add(RolesPeer::ROL_CODE, $sRolCode); $oCriteria->add(RolesPeer::ROL_SYSTEM, $sRolSystem); $oDataset = RolesPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); $aRow = $oDataset->getRow(); if (is_array($aRow)) { return $aRow; } if (!isset($aData['ROL_NAME'])) { $aData['ROL_NAME'] = ''; } $rol_name = $aData['ROL_NAME']; unset($aData['ROL_NAME']); $obj = new Roles(); $obj->fromArray($aData, BasePeer::TYPE_FIELDNAME); if ($obj->validate()) { $result = $obj->save(); $con->commit(); $obj->setRolName($rol_name); G::auditLog("CreateRole", "Role Name: " . $rol_name . " - Role Code: " . $aData['ROL_CODE'] . " - Role Status: " . $status); } else { $e = new Exception("Failed Validation in class " . get_class($this) . "."); $e->aValidationFailures = $this->getValidationFailures(); throw $e; } return $result; } catch (exception $e) { $con->rollback(); throw $e; } }