如何使用嵌套属性查找模型
How to find a model using a nested attribute
我有一个具有嵌套属性的用户模型。
其中一个嵌套属性是电子邮件。
是否可以使用在嵌套属性中找到的电子邮件地址来查找用户模型?
与 User.find_by(email: "email@example.com")
类似,但查看嵌套电子邮件属性而不是直接查看顶级用户模型。
提前致谢!
因此,如果您将电子邮件作为嵌套属性,则意味着用户与电子邮件之间存在 has_one 或 has_many 关系
相反的是belongs_to。例如
belongs_to :user
在您的电子邮件中 class。有了它,你可以简单地做:
Email.find_by(email: 'boris@test.com').user
鉴于 用户 has_many :emails 和 电子邮件 table 有地址列
你可以使用includes
做你想做的事
User.includes(:emails).where(emails: { address: 'boris@test.com' })
我有一个具有嵌套属性的用户模型。
其中一个嵌套属性是电子邮件。
是否可以使用在嵌套属性中找到的电子邮件地址来查找用户模型?
与 User.find_by(email: "email@example.com")
类似,但查看嵌套电子邮件属性而不是直接查看顶级用户模型。
提前致谢!
因此,如果您将电子邮件作为嵌套属性,则意味着用户与电子邮件之间存在 has_one 或 has_many 关系
相反的是belongs_to。例如
belongs_to :user
在您的电子邮件中 class。有了它,你可以简单地做:
Email.find_by(email: 'boris@test.com').user
鉴于 用户 has_many :emails 和 电子邮件 table 有地址列
你可以使用includes
做你想做的事
User.includes(:emails).where(emails: { address: 'boris@test.com' })