【问题标题】:How to make join of three tables in Rails 3.2如何在 Rails 3.2 中连接三个表
【发布时间】:2012-08-27 15:18:40
【问题描述】:
我有三个表如下
用户(用户名地址)
个人资料(fname,lname,mobile)
详细信息(性能、活动)
我想所有信息来自上述三个表在一个查询中
即我想为一个公共 id 字段加入三个表
我有以下查询,它只检索两个表字段
@details=User.find(:all,:joins => :profile,:select => "*")
如何为所有三个表执行此操作???
【问题讨论】:
标签:
ruby-on-rails-3
activerecord
join
【解决方案1】:
此查询的外观如下:
@details = User.select('*').joins(:profile, :details).all
我不相信这实际上是做任何事情的好方法,但它应该有效。
【解决方案2】:
这对我有用:
value_variable = 'hello world'
Member.joins(:person => [:workplace => [:business]]).where("businesses.name LIKE :value", value: "%#{value_variable}%")
注意:在 rails 3.2、4.x、5.x 上测试