首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails where子句在多到多

Rails where子句在多到多
EN

Stack Overflow用户
提问于 2013-08-25 19:00:48
回答 1查看 256关注 0票数 0

我有两种很多型号,另一种。

Storetypes:

代码语言:javascript
复制
class Storetype < ActiveRecord::Base
  has_and_belongs_to_many :stores
end

商店:

代码语言:javascript
复制
class Store < ActiveRecord::Base
  belongs_to :group  
  has_many :products
end

组:

代码语言:javascript
复制
class Group < ActiveRecord::Base
  has_many :stores
  has_many :storetypes
end

我需要做一个查询,在这个查询中,我将所有的商店都放在一个存储类型上,我会做这样的事情:

代码语言:javascript
复制
@storetype_id = Storetype.first
@stores = @group.stores.where(@storetype_id => @group.stores)

有什么想法吗?

编辑

我需要的输出是属于某个存储类型的所有存储。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-25 19:47:28

这里我要指出的几个问题。

我想你是指Storetype.first,当你说@storetype.first的时候。您混淆了类和类的实例。所以说我这么做:

代码语言:javascript
复制
@storetype = Storetype.first

我正在创建类Storetype的实例,这是您的模型。抓到我?

所以要回答你的问题,一旦我有了一个实例,我现在可以简单地运行

代码语言:javascript
复制
@storetype.stores 

所有的商店都看到了。你看我是怎么走到你的方法的?我也根本不需要使用storetype的id。更容易更干净。

对于关系的另一部分,要获取商店的所有存储类型,只需运行(使用Store实例)

代码语言:javascript
复制
@store.storetypes
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18432556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档