CakePHP: $virtualFields in $conditions einer Abfrage verwenden

Ein virtuelles Feld einer Datenbank, welches mit $virtualFields definiert wurde, ließ sich bis zur Version 1.3.0 von CakePHP nur zur Ausgabe verwenden. Ab Version 1.3.0 ist dies nun auch für Abfragen möglich (siehe Changelog).
Man sollte aber folgendes beachten: die Bedingungen in $conditions müssen als Array angegeben werden, ein String in $conditions funktioniert hier nicht!
Natürlich kann das als definierte virtuelle Feld auch in order und fields verwendet werden.

Ein Beispiel

Das virtuelle Feld im Model definieren:

$virtualFields = array('rating' => 'points/votes');

Die Abfragen:

$this->Model->find('all', array(
  'conditions' => array('rating >' => '3')
)); // funktioniert

$this->Model->find('all', array(
  'conditions' => 'rating > 3'
)); // funktioniert hier nicht!

Leave a Reply

Your email address will not be published. Required fields are marked *