Usando funciones de MySQL en CakePHP

Algo que me atrasó 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 función de MySQL, esta obviamente no se ejecuta.

Por ejemplo, esto que busca que el campo created sea más reciente que hace 1 día, no funcionaría:

$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.

$conditions = array
    (
        "created" => "> -!date_sub( curdate(), interval 1 day)"
    );
$this->Model->findAll( $conditions, null, "depart_date ASC");