CakePHP bringt von Haus aus eine Unterstützung sogenannter “Themes”. Man kann sie mit Wordpress-Themes vergleichen, wobei CakePHP hier natürlich nur die Möglichkeit anbietet, diese Themes den eigenen Nutzern zur Verfügung zu stellen.
Wenn man aber, wie bei NoseRub Admins und Usern die Möglichkeit geben möchte, das Aussehen der gesamten Installation, oder aber der eigenen Profilseite anzupassen, [...]
Die Model-Funktionen findCount() und findCountAll() berücksichtigen die Model-Relation belongsTo, was zu ungewollten Effekten führt, da dies zu einigen JOINs in der Datenbankabfrage resultiert und somit mehr oder weniger Resultate liefert, als eigentlich beabsichtigt.
Deshalb sollte man auch vor einem findCount() auf expects() zurückgreifen, um nur die Models zu berücksichtigen, die auch gewollt sind:
$this->MeinModel->recursive = 0;
$this->MeinModel->expects(’MeinModel’);
$anzahl = [...]
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, [...]