[ZF3] Zend-Db acrescentando aspas nas queries

21 views
Skip to first unread message

Dudu ...

unread,
Sep 17, 2018, 10:08:04 PM9/17/18
to zfbr...@googlegroups.com
Boa noite,

Estou tendo dificuldades em executar uma query no zend-db do ZF3, segue o seguinte snippet:

     $resultSet = $this->tableGateway->select(function(Select $select) {
      $select->columns(['*', 'date' => new \Zend\Db\Sql\Expression("DATE_FORMAT(seg_users_access.date, '%d/%m/%Y %H:%i:%s')")]);
      $select->join(['t2' => 'tbl_users'], 'seg_users_access.id_user = t2.id', ['user' => 'name'], Select::JOIN_LEFT);
      $select->join(['t3' => 'tbl_roles'], 't2.id_role = t3.id', ['group' => 'name'], Select::JOIN_LEFT);
      $select->order("id DESC");
      $select->limit(8);
        print $select->getSqlString();
        exit();
     });

A consulta monta a seguinte consulta:
SELECT "seg_users_access".*, DATE_FORMAT(seg_users_access.date, '%d/%m/%Y %H:%i:%s') AS "date", "t2"."name" AS "user", "t3"."name" AS "group" FROM "seg_users_access" LEFT JOIN "tbl_users" AS "t2" ON "seg_users_access"."id_user" = "t2"."id" LEFT JOIN "tbl_roles" AS "t3" ON "t2"."id_role" = "t3"."id" ORDER BY "id" DESC LIMIT '8'

Porém, ao depurar a mesma, vejo que é acrescentada aspas nos nomes das tabelas e apelidos, causando erro.
Têm como remover estas aspas?



Rafael Rocha

unread,
Sep 18, 2018, 9:23:56 AM9/18/18
to zfbr...@googlegroups.com

--
Essa mensagem faz parte do grupo "zfbrasil" no Google Groups.
Para escrever neste grupo, envie um email para zfbr...@googlegroups.com
Para se desligar do grupo, envie um email para zfbrasil-u...@googlegroups.com
Mais informações, visite o grupo em http://groups.google.com/group/zfbrasil?hl=pt-BR
---
Você recebeu essa mensagem porque está inscrito no grupo "Zend Framework Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para zfbrasil+u...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.


--

Cadu

unread,
Sep 18, 2018, 10:47:01 AM9/18/18
to zfbr...@googlegroups.com
Qual o banco e adapter você está usando?

Em seg, 17 de set de 2018 às 23:08, Dudu ... <int...@hotmail.com> escreveu:

Dudu ...

unread,
Sep 18, 2018, 12:49:20 PM9/18/18
to Cadu, zfbr...@googlegroups.com
pdo_mysql

De: zfbr...@googlegroups.com <zfbr...@googlegroups.com> em nome de Cadu <cadu.es...@gmail.com>
Enviado: terça-feira, 18 de setembro de 2018 14:46
Para: zfbr...@googlegroups.com
Assunto: Re: [zfbrasil] [ZF3] Zend-Db acrescentando aspas nas queries
 

Dudu ...

unread,
Sep 18, 2018, 12:50:25 PM9/18/18
to Cadu, zfbr...@googlegroups.com
Mas consegui resolver da seguinte forma:

        $select = new \Zend\Db\Sql\Select;

        $select->from('seg_users_access');
      $select->columns(['*', 'date' => new \Zend\Db\Sql\Expression("DATE_FORMAT(seg_users_access.date, '%d/%m/%Y %H:%i:%s')")]);
      $select->join(['t2' => 'tbl_users'], 'seg_users_access.id_user = t2.id', ['user' => 'name'], Select::JOIN_LEFT);
      $select->join(['t3' => 'tbl_roles'], 't2.id_role = t3.id', ['group' => 'name'], Select::JOIN_LEFT);
      $select->order("id DESC");
      $select->limit(8);

        $sql = new \Zend\Db\Sql\Sql($this->tableGateway->getAdapter());
        $adapter = $this->tableGateway->getAdapter();
        $selectString = $sql->getSqlStringForSqlObject($select);
        $resultSet = $adapter->query($selectString, $adapter::QUERY_MODE_EXECUTE);

        return $resultSet->toArray();

Se tiverem melhores sugestões, fiquem à vontade.
Obrigado.


De: zfbr...@googlegroups.com <zfbr...@googlegroups.com> em nome de Dudu ... <int...@hotmail.com>
Enviado: terça-feira, 18 de setembro de 2018 16:49
Para: Cadu; zfbr...@googlegroups.com
Assunto: RE: [zfbrasil] [ZF3] Zend-Db acrescentando aspas nas queries
 
Reply all
Reply to author
Forward
0 new messages