0

我使用Rails我怎样才能做多个条件?

我如何使用Rails

select * from policy_vehicles where policy_id 
    IN (SELECT id FROM policies WHERE 
    client_id IN (SELECT id FROM clients raz_soc = ?)) 

感谢我会很高兴帮助

+0

这是非典型的SQL,对比一下Rails中通常发现。这是可行的,但它看起来不像普通的Ruby代码。你可能会更好地直接嵌入它:'PolicyVehicle.find_by_sql(“你的查询在这里”)' –

回答

1

.MAP(&:ID)为此代码的一个问题使用的ActiveRecord在其中方法。您只需传入SQL IN子句的值数组即可。

PolicyVehicles.where(:column_a => value_a, :column_b => value_b) 

所以

PolicyVehicles.where(:client_id => Client.where(:column => :value).map(&:id)) 
+0

太棒了!! ... :)你给我答案谢谢 –