Loading config/module.config.php +3 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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, Loading src/UnicaenOracle/ORM/Query/Functions/RegexpLike.php→src/UnicaenOracle/ORM/Query/Functions/RegexpCount.php +6 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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)); } Loading Loading
config/module.config.php +3 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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, Loading
src/UnicaenOracle/ORM/Query/Functions/RegexpLike.php→src/UnicaenOracle/ORM/Query/Functions/RegexpCount.php +6 −2 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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)); } Loading