cacheQueriesでハマった


cakePHPでは、クエリーをキャッシュさせないために、普通は

$Model->cacheQueries = false;

とする
ところが、$Model->query()を使う場合は、どうもうまくいかない。。。。
ということを突き止めた。これだけに30分程度はゆうに悩んだ。

で、よくよく見ると
http://book.cakephp.org/1.2/ja/view/456/query

query() は、モデルの呼び出しとは本質的に分離した機能で、 $Model->cachequeries の状態に従いません。query を呼び出すにあたりキャッシングを無効にするには、query($query, $cachequeries = false) というように第2引数に false を設定します。

と書いてありました。

パラメータを渡す場合は、
query($query, $params, $cachequeries = false)
でいいみたい。

コメント

タイトルとURLをコピーしました