diff --git a/config/module.config.php b/config/module.config.php index b8f0eebf698b4ccdad56644184daaaf8d7a8e1ee..44c707f89a9496a9fcbb094a7a8c215a88bebef5 100755 --- a/config/module.config.php +++ b/config/module.config.php @@ -3,14 +3,14 @@ namespace UnicaenOracle; use Doctrine\DBAL\Driver\OCI8\Driver as OCI8; -use UnicaenOracle\ORM\Query\Functions\PasHistorise; use UnicaenOracle\Controller\Factory\IndexControllerFactory; use UnicaenOracle\Controller\IndexController; use UnicaenOracle\DBAL\Event\Listeners\OracleSessionInit; use UnicaenOracle\ORM\Query\Functions\Chr; use UnicaenOracle\ORM\Query\Functions\CompriseEntre; use UnicaenOracle\ORM\Query\Functions\Convert; -use UnicaenOracle\ORM\Query\Functions\RegexpLike; +use UnicaenOracle\ORM\Query\Functions\PasHistorise; +use UnicaenOracle\ORM\Query\Functions\RegexpCount; use UnicaenOracle\ORM\Query\Functions\Replace; use UnicaenOracle\Service\DataService; use UnicaenOracle\Service\SchemaService; @@ -28,7 +28,7 @@ return [ 'CHR' => Chr::class, 'CONVERT' => Convert::class, 'REPLACE' => Replace::class, - 'REGEXP_LIKE' => RegexpLike::class, + 'REGEXP_COUNT' => RegexpCount::class, // fonctions du package PL/SQL "UNICAEN_ORACLE" (cf. "../data/package.sql") 'compriseEntre' => CompriseEntre::class, diff --git a/src/UnicaenOracle/ORM/Query/Functions/RegexpLike.php b/src/UnicaenOracle/ORM/Query/Functions/RegexpCount.php similarity index 79% rename from src/UnicaenOracle/ORM/Query/Functions/RegexpLike.php rename to src/UnicaenOracle/ORM/Query/Functions/RegexpCount.php index 4cdc4b37f15c7fef40d1e1213b8a75765c95cc42..f97f1487aaf66d25bda8cc96a106906268a82cde 100644 --- a/src/UnicaenOracle/ORM/Query/Functions/RegexpLike.php +++ b/src/UnicaenOracle/ORM/Query/Functions/RegexpCount.php @@ -7,7 +7,11 @@ use Doctrine\ORM\Query\AST\Functions\FunctionNode; use Doctrine\ORM\Query\Parser; use Doctrine\ORM\Query\SqlWalker; -class RegexpLike extends FunctionNode +/** + * Class RegexpCount + * @see https://stackoverflow.com/questions/32052563/doctrine-and-oracle-regexp-like + */ +class RegexpCount extends FunctionNode { public $field; public $posixPattern; @@ -24,7 +28,7 @@ class RegexpLike extends FunctionNode public function getSql(SqlWalker $sqlWalker) { - return sprintf('REGEXP_LIKE(%s, %s)', + return sprintf('REGEXP_COUNT(%s, %s)', $this->field->dispatch($sqlWalker), $this->posixPattern->dispatch($sqlWalker)); }