我有一个TNSNAMES.ORA
模型,该模型通过InstanceUser
属于User
模型。
user_id
有多个User
。
User::Email
每个都有一个电子邮件属性。
给出一个电子邮件地址,如何找到User::Email
(如果有),以便InstanceUser
包含带有该电子邮件地址的instance_user.user.emails
?
答案 0 :(得分:0)
User.joins(:instance_users, :emails).exists?(
user_emails: {email: @email},
instance_users: {instance: @current_instance }
)
这似乎可行
答案 1 :(得分:0)
如果您将has_many through
添加到您的UserInstance中:
class UserInstance < ApplicationRecord
has_many :emails, through: :user, class_name: 'User::Email'
belongs_to :user
...
end
然后,您可以使用以下查询来查询UserInstance:
UserInstance.includes(:emails).where('emails.email = ?', email)