Doctrine DQL 中的自定义运算符

Lev*_*min 2 doctrine dql doctrine-query symfony doctrine-orm

再会。请告诉我,如何为 Doctrine DQL 创建自定义运算符?

我正在使用 Postgresql ltree 扩展,它有许多特定的运算符,例如 @>、<@、||、~ 等。但是我不能在我的 dql 查询中使用它。现在,我已经通过使用本机 sql 查询部分解决了这个问题,但我不想使用这种方法并将此运算符添加到 dql。请告诉我解决这个问题的方法。官方文档和谷歌上都没有这方面的信息。

谢谢你。抱歉英语不好。

Lev*_*min 5

通过编写特殊的DQL 函数解决了问题。如果它注册为 ltree_operator,则可以使用这样的 ...WHERE ltree_operator(first_path, '@>', secont_path)=true... 。