本文整理汇总了PHP中EntityManager::query方法的典型用法代码示例。如果您正苦于以下问题:PHP EntityManager::query方法的具体用法?PHP EntityManager::query怎么用?PHP EntityManager::query使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EntityManager
的用法示例。
在下文中一共展示了EntityManager::query方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: findOneById
/**
* Find one entry in DB by given id
*
* @param int $id
* @return \Entity\User
* @since 1.0
*/
public function findOneById($id)
{
$userData = $this->em->query('SELECT * FROM users WHERE id = ' . $id . ';')->fetch();
$newUser = new UserEntity();
$newUser->setPostRepository($this->em->getPostRepository());
return $this->registerUserEntity($id, $this->mapper->populate($userData, $newUser));
}
示例2: findByUser
/**
* Find entrie in DB by given user
*
* @param \Entity\User $user
* @return array of \Entity\Post
* @since 1.0
*/
public function findByUser($user)
{
$postsData = $this->em->query('SELECT * FROM posts WHERE user_id = ' . $user->getId() . ';')->fetchAll();
$posts = array();
foreach ($postsData as $postData) {
$newPost = new PostEntity();
$posts[] = $this->mapper->populate($postData, $newPost);
}
return $posts;
}
示例3: eraseRelaciones
/**
* Borrar todas las relaciones existentes con la entidad e
* id de entidad origen
*
* @param integer $entidadOrigen El nombre la entidad origen
* @param integer $idOrigen El id de la entidad origen
*/
public function eraseRelaciones($entidadOrigen, $idOrigen)
{
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
$query = "delete from {$this->getDataBaseName()}.{$this->getTableName()} WHERE EntidadOrigen='{$entidadOrigen}' AND IdEntidadOrigen='{$idOrigen}'";
$em->query($query);
$em->desConecta();
}
unset($em);
}
示例4: getAgenciasOperadoras
/**
* Devuelve un array con las agencias de transporte que operan en
* la zona de transporte en curso.
*
* Se entiende por 'operar', que tenga alguna tarifa en la
* tabla de portes.
*
* @return array (Id,Value)
*/
public function getAgenciasOperadoras()
{
$rows = array();
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
$query = "\n SELECT DISTINCT tp.IDAgencia AS Id, ag.Agencia AS Value\n FROM ErpTablaPortes as tp, ErpAgencias as ag\n WHERE\n tp.IDZona='{$this->IDZona}' AND\n tp.IDAgencia=zt.IDAgencia\n ORDER BY ag.Agencia ASC";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
}
return $rows;
}
示例5: 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;
}
示例6: validaLogico
/**
* Antes de insertar hay que comprobar que no se exceda
* el número máximo de banners permitido por zona
*/
public function validaLogico()
{
parent::validaLogico();
if ($this->getPrimaryKeyValue() == '') {
// Voy a insertar
$zona = new SldZonas($this->IdZona);
$slider = new SldSliders();
$rows = $slider->cargaCondicion("count(Id) as nMax", "IdZona='{$this->IdZona}'");
if ($zona->getNumeroMaximoSliders() > 0 and $zona->getNumeroMaximoSliders() < $rows[0]['nMax'] + 1) {
$this->_errores[] = "Se ha superado el número de sliders para la zona {$zona->getTitulo()}. Consulte con el administrador de la web";
}
unset($slider);
unset($zona);
}
$filtro = $this->getPrimaryKeyValue() == '' ? '1' : "Id<>'{$this->getPrimaryKeyValue()}'";
$sld = new SldSliders();
$rows = $sld->cargaCondicion("distinct IdTipo", $filtro);
unset($sld);
foreach ($rows as $row) {
$tiposExistentes[$row['IdTipo']] = true;
}
// Comprobar la jerarquía de los sliders
$query = "";
if ($this->IdTipo > '0') {
if ($tiposExistentes['1']) {
$this->_errores[] = "Ya existe un slider fijo para toda la WEB";
} else {
if ($this->IdTipo == '1') {
$this->_alertas[] = "Los posibles sliders fijos que hubiese pasan a ser variables";
$query = "UPDATE {$this->getDataBaseName()}.SldSliders SET IdTipo='0' WHERE IdTipo>'0'";
}
if ($this->IdTipo == '2' and $tiposExistentes['2']) {
$query = "UPDATE {$this->getDataBaseName()}.SldSliders SET IdTipo='0' WHERE IdTipo='{$this->IdTipo}'";
$this->_alertas[] = "Ya existía un slider fijo para el HOME, ha sido cambiado";
}
if ($this->IdTipo == '3' and $tiposExistentes['3']) {
$query = "UPDATE {$this->getDataBaseName()}.SldSliders SET IdTipo='0' WHERE IdTipo='{$this->IdTipo}'";
$this->_alertas[] = "Ya existía un slider fijo para la WEB excepto el HOME, ha sido cambiado";
}
if ($query) {
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
$em->query($query);
//echo $query;
}
$em->desConecta();
unset($em);
}
}
}
}
示例7: listAction
/**
* Genera una listado por pantalla en base al filtro.
* Puede recibir un filtro adicional
*
* @param string $aditionalFilter
* @return array con el template y valores a renderizar
*/
public function listAction($aditionalFilter = '')
{
$clientes = new Clientes();
$recibos = new RecibosClientes();
$idComercial = $this->request['filter']['valuesSelected']['5'];
if ($this->values['permisos']['permisosModulo']['CO']) {
if ($idComercial) {
$this->listado->makeQuery($aditionalFilter);
$this->listado->arrayQuery['FROM'] = str_replace(", {$clientes->getDataBaseName()}.{$clientes->getTableName()}", "", $this->listado->arrayQuery['FROM']);
$this->listado->arrayQuery['FROM'] .= ", {$clientes->getDataBaseName()}.{$clientes->getTableName()}";
$this->listado->arrayQuery['WHERE'] .= " AND {$recibos->getDataBaseName()}.{$recibos->getTableName()}.IDCliente={$clientes->getDataBaseName()}.{$clientes->getTableName()}.IDCliente ";
$this->listado->arrayQuery['WHERE'] .= "AND {$clientes->getDataBaseName()}.{$clientes->getTableName()}.IDComercial='{$idComercial}'";
$this->listado->buildQuery();
}
$this->values['listado'] = $this->listado->getAll($aditionalFilter);
$this->values['filtroRemesa'] = $this->values['listado']['filter']['valuesSelected'][11];
// Obtener total recibos y total a remesar
$em = new EntityManager($recibos->getConectionName());
if ($em->getDbLink()) {
$query = "select sum(Importe) as Importe from {$this->listado->arrayQuery['FROM']} where {$this->listado->arrayQuery['WHERE']}";
$em->query($query);
$total = $em->fetchResult();
$query1 = "select sum(Importe) as Importe from {$this->listado->arrayQuery['FROM']} where {$this->listado->arrayQuery['WHERE']} and Remesar='1'";
$em->query($query1);
$remesa = $em->fetchResult();
$em->desConecta();
}
unset($em);
$this->values['listado']['importeRecibos'] = $total[0]['Importe'];
$this->values['listado']['importeRemesa'] = $remesa[0]['Importe'];
$template = $this->entity . '/list.html.twig';
} else {
$template = "_global/forbiden.html.twig";
}
unset($clientes);
unset($recibos);
return array('template' => $template, 'values' => $this->values);
}
示例8: fetchAll
/**
* Devuelve un array con los tpvs de la sucursal indicada
* o en su defecto la sucursal en curso
*
* @param integer $idSucursal
* @return array
*/
public function fetchAll($idSucursal = '', $default = true)
{
if ($idSucursal == '') {
$idSucursal = $_SESSION['suc'];
}
$em = new EntityManager($this->getConectionName());
$link = $em->getDbLink();
if (is_resource($link)) {
$query = "select IDTpv as Id, Nombre as Value from {$this->getDataBaseName()}.{$this->getTableName()} where IDSucursal='" . $idSucursal . "'";
$em->query($query);
$tpvs = $em->fetchResult();
$em->desConecta();
}
return $tpvs;
}
示例9: getOpciones
public function getOpciones($de, $nivel)
{
$rows = array();
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
$query = "\n select m.Id,m.CodigoApp,m.Titulo ,p.NombreModulo, p.Funcionalidades, m.Icon\n from {$this->getDataBaseName()}.AgtPermisos as p, {$this->getDataBaseName()}.AgtModulos as m\n where m.NombreModulo = p.NombreModulo and m.BelongsTo='{$de}' and m.Nivel='{$nivel}' and\n p.IdPerfil = '{$this->getIdPerfil()->getId()}' AND\n LOCATE('AC',p.Funcionalidades)\n order by m.Id ASC";
//echo $query,"<br/>";
$em->query($query);
$rows = $em->fetchResult();
} else {
echo "NO HAY CONEXION CON LA BASE DE DATOS";
}
unset($em);
return $rows;
}
示例10: getZonasOperacion
/**
* Devuelve un array con las Zonas de transporte donde opera la agencia
* en curso.
*
* Se entiende por 'operar', que tenga alguna tarifa en la
* tabla de portes.
*
* @return array (Id,Value)
*/
public function getZonasOperacion()
{
$rows = array();
$zonas = new ZonasTransporte();
$tablaZonas = $zonas->getDataBaseName() . "." . $zonas->getTableName();
$portes = new TablaPortes();
$tablaPortes = $portes->getDataBaseName() . "." . $portes->getTableName();
$em = new EntityManager($zonas->getConectionName());
if ($em->getDbLink()) {
$query = "\n SELECT DISTINCT tp.IDZona AS Id, zt.Zona AS Value\n FROM \n {$tablaPortes} as tp, \n {$tablaZonas} as zt\n WHERE\n tp.IDAgencia='{$this->IDAgencia}' AND\n tp.IDZona=zt.IDZona\n ORDER BY zt.Zona ASC";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
}
return $rows;
}
示例11: listadoAction
public function listadoAction($aditionalFilter = '')
{
$pdf = new PDF("P", 'mm', "A4");
$pdf->SetTopMargin(15);
$pdf->SetLeftMargin(10);
$pdf->AliasNbPages();
$pdf->SetFillColor(210);
$per = new Permisos();
$em = new EntityManager($per->getConectionName());
$query = "select t1.IdPerfil,t1.Permisos,t4.Perfil,t2.Titulo as Opcion,t3.Titulo as SubOpcion\n from AgtPermisos as t1,menu as t2, submenu as t3, perfiles as t4\n where t1.IDOpcion=t2.IDOpcion\n and t1.IDOpcion=t3.IDOpcion\n and t3.Id=t1.IDSubOpcion\n and t1.IdPerfil=t4.Id\n order by t1.IdPerfil,t1.IDOpcion,t1.IDSubOpcion;";
$em->query($query);
$rows = $em->fetchResult();
$em->desConecta();
unset($per);
$perant = "";
$opcant = "";
foreach ($rows as $row) {
if ($perant != $row['IDPerfil']) {
$pdf->AddPage();
$pdf->Cell(40, 5, $row['Perfil'], 0, 0, "L", 1);
} else {
$pdf->Cell(40, 5, "", 0, 0, "L", 0);
}
$pdf->SetFillColor(240);
if ($opcant != $row['Opcion']) {
$pdf->Cell(30, 5, $row['Opcion'], 0, 0, "L", 1);
} else {
$pdf->Cell(30, 5, "", 0, 0, "L", 0);
}
$perant = $row['IDPerfil'];
$opcant = $row['Opcion'];
$pdf->Cell(40, 5, $row['SubOpcion'], 0, 0, "L", 0);
$permisos = array('C' => substr($row['Permisos'], 0, 1), 'I' => substr($row['Permisos'], 1, 1), 'B' => substr($row['Permisos'], 2, 1), 'A' => substr($row['Permisos'], 3, 1), 'L' => substr($row['Permisos'], 4, 1), 'E' => substr($row['Permisos'], 5, 1));
$pdf->Cell(13, 5, $permisos['C'], 0, 0, "C", 0);
$pdf->Cell(13, 5, $permisos['I'], 0, 0, "C", 1);
$pdf->Cell(13, 5, $permisos['B'], 0, 0, "C", 0);
$pdf->Cell(13, 5, $permisos['A'], 0, 0, "C", 1);
$pdf->Cell(13, 5, $permisos['L'], 0, 0, "C", 0);
$pdf->Cell(13, 5, $permisos['E'], 0, 1, "C", 1);
$pdf->SetFillColor(210);
}
$archivo = "docs/docs" . $_SESSION['emp'] . "/pdfs/" . md5(date('d-m-Y H:i:s')) . ".pdf";
$pdf->Output($archivo, 'F');
$this->values['archivo'] = $archivo;
return array('template' => '_global/listadoPdf.html.twig', 'values' => $this->values);
}
示例12: erase
/**
* Quita la vinculación entre la empresa y el usuario y todos
* los permisos que tuviera para los proyectos y apps de la empresa
*
* @return boolean TRUE si el borraro se ha hecho con exito
*/
public function erase()
{
$idEmpresa = $this->IdEmpresa;
$idUsuario = $this->IdUsuario;
$ok = parent::erase();
if ($ok) {
// Borrar todos los permisos de acceso del usuario-empresa
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
$query = "DELETE FROM {$em->getDataBase()}.PcaePermisos WHERE IdEmpresa='{$idEmpresa}' AND IdUsuario='{$idUsuario}'";
$em->query($query);
$this->_errores = $em->getError();
$em->desConecta();
}
unset($em);
}
return $ok;
}
示例13: delete
/**
* Borra físicamente el registro que vincula la app al proyecto
* y elimina todos los permisos relativos a ese proyecto y app
* @return boolean
*/
public function delete()
{
$idProyecto = $this->IdProyecto;
$idEmpresa = $this->getIdProyecto()->getIdEmpresa()->getId();
$idApp = $this->IdApp;
$ok = parent::erase();
if ($ok) {
// Borrar todos los permisos de acceso a la app borrada
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
$query = "DELETE FROM {$em->getDataBase()}.PcaePermisos WHERE IdEmpresa='{$idEmpresa}' AND IdProyecto='{$idProyecto}' AND IdApp='{$idApp}'";
$em->query($query);
$this->_errores = $em->getError();
$em->desConecta();
}
unset($em);
}
return $ok;
}
示例14: DescatalogarAction
/**
* Descatalogar los lotes (poner no vigentes) que no tengan existencias
* entre todos los almacenes de la empresa
*/
public function DescatalogarAction()
{
if ($this->values['permisos']['permisosModulo']['UP']) {
$lote = new Lotes();
$tablaLotes = $lote->getDataBaseName() . "." . $lote->getTableName();
$existencias = new Existencias();
$tablaExistencias = $existencias->getDataBaseName() . "." . $existencias->getTableName();
unset($existencias);
$em = new EntityManager($lote->getConectionName());
if ($em->getDbLink()) {
$query = "\n UPDATE {$tablaLotes} SET Vigente='0'\n WHERE IDLote not in (\n SELECT IDLote\n FROM {$tablaExistencias} e\n WHERE (\n IDLote>0 AND\n (\n Reales>0 OR\n Reservadas>0 OR\n Entrando>0\n )\n )\n GROUP BY IDLote\n ORDER BY IDLote\n );";
$em->query($query);
$em->desConecta();
}
unset($lote);
return $this->indexAction();
} else {
return array('template' => '_global/forbiden.html.twig');
}
}
示例15: validaLogico
public function validaLogico()
{
parent::validaLogico();
if (count($this->_errores) == 0) {
if ($this->BlogOrden == 0) {
$this->BlogOrden = $this->SortOrder;
}
if ($this->NoticiaOrden == 0) {
$this->NoticiaOrden = $this->SortOrder;
}
// Si no es evento, borrar los posibles eventos asociados
if ($this->Id and !$this->EsEvento) {
$em = new EntityManager($this->getConectionName());
if ($em->getDbLink()) {
$query = "delete from EvenEventos where Entidad='GconContenidos' and IdEntidad='{$this->Id}'";
$em->query($query);
$em->desConecta();
}
unset($em);
}
}
}