"number ='12-6ren">
gpt4 book ai didi

mysql - 使用 Ruby 在两个表之间查询

转载 作者:行者123 更新时间:2023-11-30 23:18:17 24 4
gpt4 key购买 nike

我的代码是这样的

contact = UserContact.find(:all,:select=>"distinct app_id,number",:conditions=>"number ='1234'")

arr=[]
contact.each do|c|
arr << c.app_id
end
name=User.find(:all,:conditions=>"id in(#{arr.join(',')}")

我花了很多时间我可以使用 join 来做吗

谢谢

最佳答案

你应该这样做

User.find(:all, :joins => :user_contacts, :conditions => "user_contacts.number = '1234'")

用户应该有关联。在 user.rb 中应该是:

has_many :user_contacts, :foreign_key => :app_id

但是命名列“app_id”是不好的风格,它应该是“user_id”(约定优于配置)。重命名它。重命名后你可以删除 ", :foreign_key => :app_id"

关于mysql - 使用 Ruby 在两个表之间查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16621438/

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