Dibi Fluent nežádoucí escapování znaků

acid303
Člen | 6
+
0
-

Ahoj,

ve svém projektu mám v DB políčko size v JSONu, potřebuju z něj tedy čas od času něco vytáhnout. Pro některé, zvláště podmiňované a skládané dotazy používám Dibi Fluent. Na problém jsem narazil právě s JSONovým políčkem:

SELECT * FROM goods WHERE json_extract(size, '$."9"') > 0

Tohle je zhruba minimální příklad dotazu, o který se pokouším, v PHP klauzule WHERE tedy vypadá asi takto:

$query->where("json_extract(size, '$.\"9\"') > 0");

Bohužel z tohohle mi vyleze přesně toto:

SELECT * FROM goods WHERE json_extract(size, '$.\"9\"') > 0

Zkoušel jsem i takovou šílenost: '$.".'"'.$size.'"'."', ale Fluent opět doplní lomítka jako vlastní escape. Je možné mu nějak vysvětlit, že ty úvozovky jsou žádoucí?

Díky za odpověď

Editoval acid303 (3. 7. 2020 15:13)

nightfish
Člen | 518
+
+1
-

Na stránce https://dibiphp.com/…ocumentation hledej „literal“.

Editoval nightfish (3. 7. 2020 15:20)

acid303
Člen | 6
+
0
-

nightfish napsal(a):

Na stránce https://dibiphp.com/…ocumentation hledej „literal“.

Už to mám, děkuji moc :) použil jsem modifikátor %SQL