Problema con función concat dentro de inner join

edited agosto 2013 in Beta2
buen día a todos,

Resulta que estoy tratando de hacer un inner join, pero quiero usar dentro de este  la función concat y que esta se retorne con nombre de campo 'desc'. Como es bien sabido 'desc' es una palabra reservada de mysql y se debe meter entre comillas para que no la tome como tal (quoting) ; pero al meterla me arroja la siguiente excepción KumbiaException: Se esta tratando de ejecutar una operacion maliciosa! (0)

Este es el código que está dentro de un método en mi clase modelo:

return $this->find('columns: fecha as date, producto.nombre as title,
            CONCAT(hora_inicio,-, hora_fin, cliente.nombres,-, cliente.apellidos) as `desc`',
                'join: inner join cliente on cliente.id = agenda.cliente_id
                    inner join producto on producto.id = agenda.producto_id');

Agradezco su ayuda.


 


Comentarios

  • Buenas, usa el find_all_by_sql() y usa sql directamente
  • Lo hice así y funcionó:

    public function getCalendario(){
            $sql = "SELECT fecha as date, producto.nombre as title, 
                    CONCAT(hora_inicio, ' hasta ',  hora_fin, ' ', cliente.nombres, ' ', cliente.apellidos) as 'desc'
                    FROM agenda
                    INNER JOIN cliente ON (agenda.cliente_id=cliente.id)
                    INNER JOIN producto ON (agenda.producto_id=producto.id)";
           
            return $this->find_all_by_sql($sql);

    ¿Pero este error que reporté se catalogaría como un bug?

  • No es un but, es un feature, el método find no te permite usar comillas dobles ni simples.
Sign In or Register to comment.