本文整理汇总了PHP中EntityManager::getInsertId方法的典型用法代码示例。如果您正苦于以下问题:PHP EntityManager::getInsertId方法的具体用法?PHP EntityManager::getInsertId怎么用?PHP EntityManager::getInsertId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EntityManager
的用法示例。
在下文中一共展示了EntityManager::getInsertId方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: create
/**
* Asigno permiso al usuario-proyecto-app
*
* Y además creo el usuario en el cpanel del proyecto.
*
* @return boolean
*/
public function create()
{
$id = parent::create();
if ($id) {
// Para saber el perfil que tiene el usuario con la empresa.
$usuario = new PcaeUsuarios($this->IdUsuario);
$perfil = $usuario->getPerfilEmpresa($this->IdEmpresa);
$idPerfil = $perfil->getId();
unset($usuario);
unset($perfil);
$proyectoApp = new PcaeProyectosApps();
$filtro = "IdProyecto='{$this->IdProyecto}' AND IdApp='{$this->IdApp}'";
$rows = $proyectoApp->cargaCondicion("*", $filtro);
unset($proyectoApp);
$row = $rows[0];
if ($row['Id']) {
$connection = array('dbEngine' => $row['DbEngine'], 'host' => $row['Host'], 'user' => $row['User'], 'password' => $row['Password'], 'dataBase' => $row['Database']);
$em = new EntityManager($connection);
if ($em->getDbLink()) {
$query = "select Id from {$connection['dataBase']}.CpanUsuarios where IdUsuario='{$this->IdUsuario}'";
$em->query($query);
$rows = $em->fetchResult();
$id = $rows[0]['Id'];
if ($id) {
$query = "update {$connection['dataBase']}.CpanUsuarios set IdPerfil='{$idPerfil}' where Id='{$id}'";
$em->query($query);
} else {
$query = "insert into {$connection['dataBase']}.CpanUsuarios (IdUsuario,IdPerfil,IdRol,IdTipoUsuario) values ('{$this->IdUsuario}','{$idPerfil}','1','1');";
$em->query($query);
$lastId = $em->getInsertId();
$query = "update {$connection['dataBase']}.CpanUsuarios set SortOrder='{$lastId}', PrimaryKeyMD5='" . md5($lastId) . "' WHERE Id='{$lastId}'";
$em->query($query);
}
$em->desConecta();
}
unset($em);
}
}
return $id;
}
示例2: newAction
/**
* Crea un registro nuevo
*
* Si viene por GET muestra un template vacio
* Si viene por POST crea un registro
*
* @return array con el template y valores a renderizar
*/
public function newAction()
{
if ($this->values['permisos']['permisosModulo']['IN']) {
switch ($this->request["METHOD"]) {
case 'GET':
//MOSTRAR FORMULARIO VACIO
//SI EN LA POSICION 2 DEL REQUEST VIENE ALGO,
//SE ENTIENDE QUE ES EL VALOR DE LA CLAVE PARA LINKAR CON LA ENTIDAD PADRE
//ESTO SE UTILIZA PARA LOS FORMULARIOS PADRE->HIJO
if ($this->request['2'] != '') {
$this->values['linkBy']['value'] = $this->request['2'];
}
$datos = new $this->entity();
$datos->setDefaultValues((array) $this->varEnvMod['columns']);
$this->values['datos'] = $datos;
$this->values['errores'] = array();
$template = $this->entity . '/new.html.twig';
break;
case 'POST':
//CREAR NUEVO REGISTRO
//COGER EL LINK A LA ENTIDAD PADRE
if ($this->values['linkBy']['id'] != '') {
$this->values['linkBy']['value'] = $this->request[$this->entity][$this->values['linkBy']['id']];
}
$datos = new $this->entity();
$datos->bind($this->request[$this->entity]);
$rules = $this->form->getRules();
$rules['GLOBALES']['numMaxPages'] = $this->varEnvPro['numMaxPages'];
$rules['GLOBALES']['numMaxRecords'] = $this->varEnvMod['numMaxRecords'];
if ($datos->valida($rules)) {
$em = new EntityManager($datos->getConectionName());
if ($em->getDbLink()) {
$v = $this->request[$this->entity];
$columnas = "`IDAgente`,`IDRol`,`IDPerfil`,`IDSucursal`,`IDAlmacen`,`Activo`,`PrimaryKeyMD5`";
$valores = "'{$v['IDAgente']}','{$v['IDRol']}','{$v['IDPerfil']}','{$v['IDSucursal']}','{$v['IDAlmacen']}','{$v['Activo']}','" . md5($v['IDAgente']) . "'";
$query = "insert into {$datos->getDataBaseName()}.{$datos->getTableName()} ({$columnas}) VALUES ({$valores})";
$em->query($query);
$lastId = $em->getInsertId();
$em->desConecta();
}
$lastId = $this->request[$this->entity]['IDAgente'];
$this->values['errores'] = $datos->getErrores();
$this->values['alertas'] = $datos->getAlertas();
//Recargo el objeto para refrescar las propiedades que
//hayan podido ser objeto de algun calculo durante el proceso
//de guardado y pongo valores por defecto (urlamigable, etc)
if ($lastId and $datos->getUrlTarget() == '') {
$datos = new $this->entity($lastId);
$this->gestionUrlMeta($datos);
$this->values['errores'] = $datos->getErrores();
$this->values['alertas'] = $datos->getAlertas();
}
// Si ex buscable, actualizar la tabla de búsquedas
if ($lastId and $this->varEnvMod['searchable'] == '1') {
$this->ActualizaBusquedas($datos);
}
$this->values['datos'] = $datos;
$template = $this->values['errores'] ? $this->entity . '/edit.html.twig' : $this->entity . '/edit.html.twig';
} else {
$this->values['datos'] = $datos;
$this->values['errores'] = $datos->getErrores();
$this->values['alertas'] = $datos->getAlertas();
$template = $this->entity . '/new.html.twig';
}
break;
}
} else {
$template = '_global/forbiden.html.twig';
}
return array('template' => $template, 'values' => $this->values);
}