gpt4 book ai didi

ruby-on-rails - 您如何使用 where 子句执行 Rails 3 select IN

转载 作者:行者123 更新时间:2023-12-03 11:08:46 24 4
gpt4 key购买 nike

我正在使用 Rails 3,我需要做一个选择,其中记录的主键在结果前一个选择中。您可以使用使用 IN 的直接 SQL 轻松完成此操作。这是我完成我需要的明显不正确的方式。 Rails 有什么方法可以很好地做到这一点:

@task = Link.find(params[:id])
clients = Client.where('task_id = ?',@task.id).select('DISTINCT(company_id)')
company_list = []
clients.each do |client|
company_ids << client.company_id
end
@companies = Company.where(:id => company_ids)

最佳答案

正如其他人提到的,在这种情况下我会使用 join 。使用“in”的语法也很简单,例如

company_ids = [1,2,3,4]
@companies = Company.where("id in (?)", company_ids)

更新

实际上它比现在更简单(我认为rails 3+),你可以做
company_ids = [1,2,3,4]
@companies = Company.where(id: company_ids)

关于ruby-on-rails - 您如何使用 where 子句执行 Rails 3 select IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6260288/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com