Hoy me he encontrado con un problemilla curioso. Necesitaba definir una condición para un find en la que hay una operación bitwise en la base de datos. En concreto, un & de una máscara binaria contra un campo del modelo.
Bueno, pues la forma en que he conseguido que funcione es algo así:
...
array('conditions' => array('12 & Rule.precedence'):
...
Que debe dar un WHERE más o menos así:
WHERE 12 & `Rule`.`precedence`
Es decir, primero pongo el valor de la máscara, luego la operación binaria y luego el campo.
Si pongo primero el campo, CakePHP se empeña en hacer no sé qué y no aparece la comparación en el WHERE.
No hay comentarios:
Publicar un comentario