DX: fix deprecation in dql custom function + add test

This commit is contained in:
Julien Fastré 2022-10-08 01:30:06 +02:00
parent 76aa9c7058
commit 61db0d6a28
2 changed files with 42 additions and 1 deletions

View File

@ -27,7 +27,7 @@ class JsonbExistsInArray extends FunctionNode
return sprintf(
'%s ?? %s',
$this->expr1->dispatch($sqlWalker),
$sqlWalker->walkInputParameter($this->expr2)
$this->expr2->dispatch($sqlWalker)
);
}

View File

@ -0,0 +1,41 @@
<?php
declare(strict_types=1);
/*
* Chill is a software for social workers
*
* For the full copyright and license information, please view
* the LICENSE file that was distributed with this source code.
*/
namespace Doctrine\DQL;
use Chill\MainBundle\Entity\User;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase;
/**
* @internal
* @coversNothing
*/
final class JsonbExistsInArrayTest extends KernelTestCase
{
private EntityManagerInterface $em;
protected function setUp(): void
{
self::bootKernel();
$this->em = self::$container->get(EntityManagerInterface::class);
}
public function testDQLFunctionWorks()
{
$result = $this->em
->createQuery('SELECT JSONB_EXISTS_IN_ARRAY(u.attributes, :param) FROM ' . User::class . ' u')
->setParameter('param', 'fr')
->getResult();
$this->assertIsArray($result);
}
}