ruby-on-rails - 使用 ActiveRecord 查询记录列表,其中每个项目的外键都存在于哈希中
问题描述
我有四个模型——用户、代理、列表和查询。
用户has_one
代理、代理has_many
列表和列表has_many
查询。
我有一个查询,我在哪里得到 a :user_id
,所以我可以得到它的代理和列表集合。
我需要属于某个列表的查询。
我的方法如下,显然我正在寻找all
. 我想做一个查询,我可以在其中列出所有查询,其中:listing_id
一个列表的 id 是@listings
.
def index
@agency = User.find(params[:user_id]).agency
@listings = @agency.listings
@inquiries = Inquiry
.all
render json: @inquiries
end
我尝试结合各种select
, includes
,where
等方法,但无法提出可行的解决方案。
感谢您的帮助,非常感谢!
解决方案
我们可以在单个查询中使用多个连接来达到结果关联。
def index
@inquiries = Inquiry.joins(listing: { agency: :user }).where(users: { id: params[:user_id] })
render json: @inquiries
end
推荐阅读
- html - 如何对这个 HTML Table 的位置进行排序?- 我需要右侧的提交按钮,需要删除左侧的间距
- python - Python删除多部分标题内容
- lua - 在lua中使用字符串中的变量
- python - 如何通过取 3 个网格点为熔炉的质量平衡方程编写 python 代码?我需要绘制密度分布图
- c++ - 如何正确地将指针传递给函数?
- docker - 将已经存在的 jenkins 放入 docker 镜像中
- python - Optimize.Minimize 将 2 个参数传递给 1 个参数的函数
- python - Python 更新系统时间
- java - java继承和设计模式建议
- python - Pandas DataFrame:json.dumps 的异常行为(额外的双引号)