0

我有两个模型 A 和 B,其中:

A has_one B

因此,我向 A 添加了一个外键,它将 A 的每个实例与 B 实例的 id 相关联。请注意,我确实知道希望这是一个 1-1 关系。

如何使用 A.find() 来获取与具有 B 的某个属性的 B 实例关联的所有 A 实例(例如 B.name)?

我知道这可以通过两个表之间的 SQL 连接来完成,但是在 ROR 中是否有一种优雅的方式来做到这一点?

4

2 回答 2

1

假设您有正确的关联设置:

time_range = (Time.now.midnight - 1.day)..Time.now.midnight
Client.joins(:orders).where(:orders => {:created_at => time_range})

这是来自Active Record Querying 指南

于 2012-08-27T04:49:44.007 回答
0

has_one关联在归属模型中需要外键。请查看 RailsGuides - http://guides.rubyonrails.org/association_basics.html#the-has_one-association

于 2012-08-27T04:25:30.330 回答