在原来的帖子(http://cakebaker.42dh.com/2007/05/04/how-to-use-sql-functions-in-conditions/
) "How to use SQL functions in conditions" 我显示了通过魔术标记"-!",如何在条件中使用SQL函数,示例如下:
$this
->
User
->
findAll(
array
(
'
DATE(User.modified)
'
=>
'
-!CURDATE()
'
));
这段代码返回所有在当天修改的用户记录.
至少有两种可能的方法可以做到,最简单的是使用"<>":
它创建如下SQL代码:
...
WHERE
DATE(`
User
`.`modified`)
<>
CURDATE()
另一个方法是使用SQL的"NOT"关键字:
$this
->
User
->
findAll(
array
(
'
NOT
'
=>
array
(
'
DATE(User.modified)
'
=>
'
-!CURDATE()
'
)));
得到如下的SQL语句;
...
WHERE
NOT
(DATE(`
User
`.`modified`)
=
CURDATE())