2016-06-17 6 views
0

バッククォートなしのフィールド名を生成するために、続編生成されたSQLを取得します。 、2番目のものはありません。バックティックを取り除いてから2番目のものを削除すると、最初のものと同じ結果が生成されます。私は次のクエリは、SQLで書かれている

これは、2番目の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

あなたはバックティックが問題となっている特定されて、いない 'WHERE(IN 'npt_teams.id'(1))'?バックティックは問題を引き起こすべきではありません。しかし、一重引用符は必要です。 – Siyual

+0

OK、それでは、続編を引用符なしで生成するにはどうすればよいですか? – Thermatix

+0

悲しいことに、そこにお手伝いできません。私は '続編 'について何も知らない。 – Siyual

答えて

1

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

これはうまくいきました。ビットを次のように変更してもうまくいきました: '.where(" npt_teams.id IN(#{team.id}) ")' ..スクリプトがハングする原因になりましたが、mysqlworkbenchで動作します... – Thermatix

関連する問題