php - Drupal db_select y una función MYSQL como condición
drupal apache (1)
Ok, déjame explicarte mi situación. Estoy tratando de hacer una consulta mysql como tal:
Select * FROM dates n WHERE (MONTH(FROM_UNIXTIME(n.date)) = ''12'');
Pero necesito que la consulta esté en la función db_select.
Si agrego:
$this->query->condition(''MONTH(FROM_UNIXTIME(n.date))'', 12, ''='');
Drupal elimina el paréntesis y encapsula la función entre comillas.
¿Cómo voy a agregar una condición como tal?
Ok, descubrí mi propia respuesta! Muy tonto, pero después de pasar más de una hora buscando, apuesto a que podría ayudar a alguien en el camino.
Cambié
$this->query->condition(''MONTH(FROM_UNIXTIME(n.date))'', 12, ''='');
A
$this->query->where(''MONTH(FROM_UNIXTIME(n.date)) = :val'', array(''val''=>12));
¡¡¡Funciona de maravilla!!!