【发布时间】:2018-10-19 14:15:05
【问题描述】:
我对如何解释这个查询有点困惑,这都是因为merge 的情况,即使在阅读了文档之后也是如此。
我想知道下面对应的SQL查询是什么
Analise.joins(dape: [empresa: :area_atuacao])
.merge(@dapes)
.where(analises: { atual: true })
.pluck('analises.img')
在此查询上调用 to_sql 的输出:
=> "SELECT \"analises\".*
FROM \"analises\"
INNER JOIN \"dapes\" ON \"dapes\".\"id\" = \"analises\".\"dape_id\"
INNER JOIN \"empresas\" ON \"empresas\".\"id\" = \"dapes\".\"empresa_id\"
INNER JOIN \"areas_atuacao\" ON \"areas_atuacao\".\"id\" = \"empresas\".\"area_atuacao_id\"
WHERE \"analises\".\"atual\" = 't'"
【问题讨论】:
-
您能帮我一个忙,然后运行您在最后使用 .to_sql 命令提供的代码吗?如果您了解如何阅读 SQL 查询,那么这可能会有所帮助,但是为了给您具体的答案,我可以使用它。所以只需运行以下代码并让我知道输出:
Analise.joins(dape: [empresa: :area_atuacao]).merge(@dapes).where(analises: { atual: true }).pluck('analises.img').to_sql我可以在这里为您收集一些信息,看看。 Active Record Queries -
=> "SELECT \"analises\".* FROM \"analises\" INNER JOIN \"dapes\" ON \"dapes\".\"id\" = \"analises\" .\"dape_id\" INNER JOIN \"empresas\" ON \"empresas\".\"id\" = \"dapes\".\"empresa_id\" INNER JOIN \"areas_atuacao\" ON \"areas_atuacao\" .\"id\" = \"empresas\".\"area_atuacao_id\" WHERE \"analises\".\"atual\" = 't'" 这真是太棒了伙计!现在我能理解了,tks!
-
我对 '.merge(@dapes)' @dapes 是 ActiveRecord_Relation 感到困惑,但查询的作用是什么?
-
阅读我的回答,如果有帮助请告诉我。
标签: sql ruby-on-rails activerecord rails-activerecord