获取续集生成的sql以生成没有反引号的字段名称

时间:2016-06-17 12:46:04

标签: mysql sql ruby sequel ruby-1.8.7

我在SQL中编写了以下查询:

Select     * 
From       npt_articles 
Inner Join npt_authors 
Inner Join users 
Inner Join npt_teams 
Where      npt_teams.id In (1)

和续集gem生成的以下sql:

SELECT     * 
FROM       `npt_articles` 
INNER JOIN `npt_authors` 
INNER JOIN `users` 
INNER JOIN `npt_teams` 
WHERE      ('npt_teams.id' IN (1))

第一个返回结果,第二个返回结果,如果我删除了反向标记然后第二个,那么它会生成与第一个结果相同的结果。

这是生成第二个sql的代码:

team_articles = user.npt_teams.to_a.inject({}) {|arts,team|
    arts.merge({ team.name =>
    NptArticle.join(:npt_authors).join(:users).join(:npt_teams).where('npt_teams.id' => [team.id]).to_a.uniq})
  }

如何在没有反引号的情况下生成查询?

1 个答案:

答案 0 :(得分:1)

你应该尝试这样的事情:

.where(:npt_teams__id => [team.id])