Normaal gesproken kun je met Zend Framework (1.12) data in je query quoten.
Nu ben ik met postgresql bezig met een JSONB datatype, deze heeft operators die een vraagteken bevatten. Het uitvoeren van de query gaat dan niet, omdat Zend_Db het vraagteken wil vervangen door een variabele.
Ik wil gewoon iets simpels doen als:
Bovenstaande code is geldige SQL en zou TRUE moeten teruggeven, omdat één van de elementen uit de rechter array in de json array zitten.
Wat ik heb geprobeerd:
- Dubbel vraagteken (blijft dubbel vraagteken)
- Quoten met dubbele of enkele quotes
- Slashes ervoor (1-3 geprobeerd)
- Dubbelepunt ervoor (in ZF is dat een named param)
- Zend_Db Expr ervan maken
Google is ook niet echt behulpzaam. Ik ben bang dat het niet gaat werken, maar ik heb nog een klein beetje hoop dat hier nog iemand een goed idee heeft!
SQL:
1
| SELECT * FROM table WHERE col > ? |
Nu ben ik met postgresql bezig met een JSONB datatype, deze heeft operators die een vraagteken bevatten. Het uitvoeren van de query gaat dan niet, omdat Zend_Db het vraagteken wil vervangen door een variabele.
Ik wil gewoon iets simpels doen als:
PHP:
1
| $db->query('SELECT \'["a","d", "E"}\' ?| \'{"a", "b"}\''); |
Bovenstaande code is geldige SQL en zou TRUE moeten teruggeven, omdat één van de elementen uit de rechter array in de json array zitten.
Wat ik heb geprobeerd:
- Dubbel vraagteken (blijft dubbel vraagteken)
- Quoten met dubbele of enkele quotes
- Slashes ervoor (1-3 geprobeerd)
- Dubbelepunt ervoor (in ZF is dat een named param)
- Zend_Db Expr ervan maken
Google is ook niet echt behulpzaam. Ik ben bang dat het niet gaat werken, maar ik heb nog een klein beetje hoop dat hier nog iemand een goed idee heeft!
"Chaos kan niet uit de hand lopen"