【发布时间】:2016-06-26 21:19:17
【问题描述】:
我尝试使用Arel 连接两个表以生成如下 SQL:
[...]
INNER JOIN "nodes" ON "nodes"."id" LIKE "jobs"."ancestry" || '%'
[...]
匹配以 node ID 之一开头的任何 job。当我运行简单的 SQL 时,这可行,现在我尝试使用 Arel 构建它:
node = Node.arel_table
job = Job.arel_table
node.join(job).on(node[:id].matches("_______%"))
现在我找不到任何如何为matches 获取正确字符串的方法,即使我尝试:
"\"nodes\".\"ancesty\" || %"
整个字符串将被转义。有什么方法可以将原始 SQL 传递给不会被转义的 Arel matches 方法或任何其他方法来使其与 Arel 一起工作?
【问题讨论】: