Zend Framework 2 – Sql\Select mit AND und OR

Bei der Verbindung mehrerer Suchbedingungen ist die Reihenfolge der Operatoren wie AND oder OR entscheidend. Daher werden zusammengesetzte Suchbedingungen in Klammern gesetzt, um die Prioritäten deutlich zu machen.

Im Zend Framework 2 lässt sich das mit Zend\Db\Sql\Select folgendermaßen bewerkstelligen:

$sql = new Sql($adapter);
$select = $sql->select()->from('table1');

$select->where
        ->nest
        ->equalTo('col1', 'Foo')
        ->or
        ->equalTo('col2', 'Bar')
        ->unnest
        ->and
        ->equalTo('col3', 'Foo Bar');

 

Der generierte SQL-String würde dann so aussehen:

SELECT * FROM table1 WHERE (col1 = 'Foo' OR col2 = 'Bar') AND col3 = 'Foo Bar';

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert