相关疑难解决方法(0)

在Doctrine 2.x ORM中使用REGEXP

我研究了很多,我确信答案是否定的,但我很想证明是错的.

我想执行用DQL编写的包含REGEXP操作的查询.例如:

select * from assets 
where campaign_id = 1
and fileName REGEXP 'godzilla*'
order by fileName desc
Run Code Online (Sandbox Code Playgroud)

又名

$builder->add('select', 'a.fileName')
        ->add('from',    '\Company\Bundle\Entity\Asset a')
        ->add('where',   'a.campaign=1')
        ->...REGEXP MAGIC...
        ->add('orderBy', 'a.fileName desc');
Run Code Online (Sandbox Code Playgroud)

(这是一个简单的正则表达式,我意识到可以像LIKE一样完成,但它只是一个例子 - 我真正的正则表达式更复杂)

我查看了Doctrine\ORM\Query\Expr类以及QueryBuilder类.我看不到对REGEXP的支持.有人在SO上发帖说他们使用了Expr类,但这实际上并不起作用(他们说这是未经测试的).

任何想法如何在DQL中执行REGEXP w/out直接编写SQL?TIA.

php orm doctrine doctrine-orm

5
推荐指数
1
解决办法
7475
查看次数

标签 统计

doctrine ×1

doctrine-orm ×1

orm ×1

php ×1