Schaut man sich die Beschreibung zu beiden Methoden an, ist eigentlich kein Unterschied auszumachen. In der Praxis können diese beiden Anfragen aber durchaus unterschiedlich reagieren:
$mein_model->cacheQueries = false;
$mein_model->query('SELECT COUNT(DISTINCT plz) FROM test_table');
$mein_model->cacheQueries = false;
$mein_model->execute('SELECT COUNT(DISTINCT plz) FROM test_table');
query() beachtet nämlich die Cache-Einstellungen via cacheQueries nicht, während execute() dies aber tut. Die Rückgabe beider Methoden ist identisch, man sollte also nach Möglichkeit execute() statt query() benutzen, damit man mittels cacheQueries immer die Möglichkeit hat, auf das Model-Caching von Cake Einfluß nehmen zu können.
One Response
Jan
Juli 15th, 2007 at 1:49
1Wenn ich die kruden Sourcen der dbo_source.sql richtig lese, kann man auch query() als zweitem Parameter ein “false” mitgeben um Caching zu verhindern.
RSS feed for comments on this post · TrackBack URI
Leave a reply