Usando funciones de MySQL en CakePHP
11/03/2008Algo que me atraso en la madrugada era que CakePHP escapa todas las condicionales que le mandas en una consulta SQL, y si la condicional de casualidad esta formada con una funcion de MySQL, esta obviamente no se ejecuta.
Por ejemplo, esto no funcionara: (busca que el campo created sea mas reciente que hace 1 dÃa)
1 2 3 4 5 | $conditions = array ( "created" => "> date_sub( curdate(), interval 1 day)" ); $this->Model->findAll( $conditions, null, "depart_date ASC"); |
Para evitar esto CakePHP implementa un operador mágico “-!” que le indica no escapar esa sentencia y nuestra consulta se ejecute como pretendemos.
1 2 3 4 5 | $conditions = array ( "created" => "> -!date_sub( curdate(), interval 1 day)" ); $this->Model->findAll( $conditions, null, "depart_date ASC"); |
Voilà !


Hay 3 comentarios: