如何用SQL连接查询实现Ruby on Rails中has_one关联的复杂查询?

2026-04-11 17:071阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计217个文字,预计阅读时间需要1分钟。

如何用SQL连接查询实现Ruby on Rails中has_one关联的复杂查询?

我有用户模型和配置文件模型。每个用户都有一个个人资料。该个人资料具有城市属性。现在,我希望Users控制器中的搜索操作能够拉出与current_user具有相同城市属性的所有用户。因此,我在控制器中添加了搜索功能。

我有一个用户模型和一个配置文件模型.每个用户都有_个人资料.该个人资料具有城市属性.现在,我希望Users控制器的索引操作拉出与current_user具有相同城市的所有用户.所以我在控制器中有这个代码:

def index @users = User.same_city_as(current_user).paginate :page => params[:page], :per_page => 10 end

我也有这个在User模型中:

scope :same_city_as, lambda { |user| joins(:profile).where(:profile => {:city => user.profile.city} ) }

这不起作用.我收到此错误“”PGError:错误:缺少表“profile”的FROM子句条目“.

你需要在where子句复数中创建:profile.

如何用SQL连接查询实现Ruby on Rails中has_one关联的复杂查询?

joins(:profile).where(:profiles => {:city => user.profile.city})

本文共计217个文字,预计阅读时间需要1分钟。

如何用SQL连接查询实现Ruby on Rails中has_one关联的复杂查询?

我有用户模型和配置文件模型。每个用户都有一个个人资料。该个人资料具有城市属性。现在,我希望Users控制器中的搜索操作能够拉出与current_user具有相同城市属性的所有用户。因此,我在控制器中添加了搜索功能。

我有一个用户模型和一个配置文件模型.每个用户都有_个人资料.该个人资料具有城市属性.现在,我希望Users控制器的索引操作拉出与current_user具有相同城市的所有用户.所以我在控制器中有这个代码:

def index @users = User.same_city_as(current_user).paginate :page => params[:page], :per_page => 10 end

我也有这个在User模型中:

scope :same_city_as, lambda { |user| joins(:profile).where(:profile => {:city => user.profile.city} ) }

这不起作用.我收到此错误“”PGError:错误:缺少表“profile”的FROM子句条目“.

你需要在where子句复数中创建:profile.

如何用SQL连接查询实现Ruby on Rails中has_one关联的复杂查询?

joins(:profile).where(:profiles => {:city => user.profile.city})