update jsonb exists method by using question mark escaping

This commit is contained in:
Julien Fastré 2021-10-30 00:25:25 +02:00
parent db15a3d53c
commit 35a27de216

View File

@ -1,7 +1,7 @@
<?php <?php
/* /*
* *
* *
*/ */
namespace Chill\MainBundle\Doctrine\DQL; namespace Chill\MainBundle\Doctrine\DQL;
@ -11,19 +11,18 @@ use Doctrine\ORM\Query\Parser;
use Doctrine\ORM\Query\SqlWalker; use Doctrine\ORM\Query\SqlWalker;
/** /**
*
* *
* @author Julien Fastré <julien.fastre@champs-libres.coop> @author Julien Fastré <julien.fastre@champs-libres.coop>
*/ */
class JsonbExistsInArray extends FunctionNode class JsonbExistsInArray extends FunctionNode
{ {
private $expr1; private $expr1;
private $expr2; private $expr2;
public function getSql(SqlWalker $sqlWalker): string public function getSql(SqlWalker $sqlWalker): string
{ {
return sprintf( return sprintf(
'jsonb_exists(%s, %s)', '%s ?? %s',
$this->expr1->dispatch($sqlWalker), $this->expr1->dispatch($sqlWalker),
$sqlWalker->walkInputParameter($this->expr2) $sqlWalker->walkInputParameter($this->expr2)
); );