如果你之前查询了某个表格,并且默认是启用Cache的,那么查询结果会被缓存在cache/queries中
所以如过你创建了新的记录但是没有清除Cache,再查询时是找不到新的记录的.
Cache很强大,也很容易会引起麻烦,上述就是一个例子.
在Cake中,你可以通过设置cacheQueries为false来禁用查询缓存,这个对于find是起作用的.
但是你执行query的时候,并不检查这个变量.
对于query,可以设置第二个参数为false来直接读取数据库,如下所示:
$query = "SELECT id FROM `t_cities` WHERE `country_id` =".$country_id.")";
$tempresults = $this->query($query, false);
regards,
iefreer