sul*_*leh 5 ruby activerecord ruby-on-rails ruby-on-rails-3 rails-activerecord
对Rails来说有些陌生,因此,感谢您提供的任何帮助。
无论如何,我有三种模型-投票,午餐和提供者,并且我希望编写一个Active Record调用来提取:
投票模型包括Lunch_id,午餐模型包括Lunch_id(仅称为ID)和provider_id。Provider模型有一个provider_id(仅称为id)。在Rails控制台中,我可以编写:
v = Vote.joins(:lunch).select("lunches.date,votes.*").where(lunch_id: 1)
Run Code Online (Sandbox Code Playgroud)
并输出“投票”模型中的所有数据以及“午餐”模型中的关联日期。我遇到的困难是我不知道如何“嵌套”这个然后再加入提供者模型。
我想这可能与“ has_many_through”有关,但是即使阅读了文档,我也不确定如何实现。这里的任何想法将不胜感激!
假设所有模型都定义了正确的模型has_many和belongs_to关联,则可以通过将散列传递给join方法(而不仅仅是符号)来加入多个表。
Vote.joins(lunch: :provider).select('lunches.date, providers.name, votes.*').where(lunch_id: 1)
Run Code Online (Sandbox Code Playgroud)
关于这些的更多信息,可以在rails查询接口文档的“使用命名关联的数组/哈希”部分中找到。
http://guides.rubyonrails.org/active_record_querying.html#using-array-hash-of-named-associations
| 归档时间: |
|
| 查看次数: |
2649 次 |
| 最近记录: |