Ruby on rails 查询关联表(不丢失头发)

Ruby on rails 查询关联表(不丢失头发),ruby-on-rails,rails-activerecord,Ruby On Rails,Rails Activerecord,好吧,就这么定了。。这应该很简单,我可能在某个地方搞砸了某种语法: 我有一个费用模型,它与卡有一个属于关系 我想检索属于任何名为“John Doe”的卡的所有费用 我尝试了以下方法,但效果不理想(可能是因为我搞错了语法): 帮助兄弟?@FloatingRock:试试这个: Charge.joins(:card).where(cards: { name: 'John Doe' }) 根据您的要求,首先我们需要使用卡加入费用,然后应用一个条件。希望它对你有用。@FloatingRock:试试这个

好吧,就这么定了。。这应该很简单,我可能在某个地方搞砸了某种语法:


我有一个
费用
模型,它与
有一个
属于
关系

我想检索属于任何名为“John Doe”的
的所有
费用

我尝试了以下方法,但效果不理想(可能是因为我搞错了语法):


帮助兄弟?

@FloatingRock:试试这个:

Charge.joins(:card).where(cards: { name: 'John Doe' })

根据您的要求,首先我们需要使用
卡加入
费用
,然后应用一个条件。希望它对你有用。

@FloatingRock:试试这个:

Charge.joins(:card).where(cards: { name: 'John Doe' })

根据您的要求,首先我们需要使用
卡加入
费用
,然后应用一个条件。希望它对你有用。

@FloatingRock:试试这个:

Charge.joins(:card).where(cards: { name: 'John Doe' })

根据您的要求,首先我们需要使用
卡加入
费用
,然后应用一个条件。希望它对你有用。

@FloatingRock:试试这个:

Charge.joins(:card).where(cards: { name: 'John Doe' })

根据您的要求,首先我们需要使用
卡加入
费用
,然后应用一个条件。希望它对你有用。

这并不是你想要的,但我会发布它,以防你是Rails新手,不知道。如果您已经拥有Card对象,您可以获得其费用列表,如下所示:

card.charges
这也更安全,因为你不想假设两张同名的卡片属于同一个人


您可能已经知道这一点,但它将在这里为其他可能需要它的人提供。

这并不是您所要求的,但我会发布它,以防您是Rails的新手并且不知道。如果您已经拥有Card对象,您可以获得其费用列表,如下所示:

card.charges
这也更安全,因为你不想假设两张同名的卡片属于同一个人


您可能已经知道这一点,但它将在这里为其他可能需要它的人提供。

这并不是您所要求的,但我会发布它,以防您是Rails的新手并且不知道。如果您已经拥有Card对象,您可以获得其费用列表,如下所示:

card.charges
这也更安全,因为你不想假设两张同名的卡片属于同一个人


您可能已经知道这一点,但它将在这里为其他可能需要它的人提供。

这并不是您所要求的,但我会发布它,以防您是Rails的新手并且不知道。如果您已经拥有Card对象,您可以获得其费用列表,如下所示:

card.charges
这也更安全,因为你不想假设两张同名的卡片属于同一个人



您可能已经知道这一点,但它将为其他可能需要它的人提供。

谢谢。。作品我很好奇,我需要怎么做才能根据
Charge
属性为
cards
添加一个条件(例如
Charge.joins(:card)。where(cards:{name:Charge.name})
——这不起作用)您缺少关于“where”方法的结束语,不过,这看起来不错。@JaimeBellmyer谢谢你指出它。我更新了答案。@FloatingRock:我没听清你的问题。@Kuldeep基本上,问题是如果我想在
id
以外的东西上加入两个表,该怎么办?谢谢。。作品我很好奇,我需要怎么做才能根据
Charge
属性为
cards
添加一个条件(例如
Charge.joins(:card)。where(cards:{name:Charge.name})
——这不起作用)您缺少关于“where”方法的结束语,不过,这看起来不错。@JaimeBellmyer谢谢你指出它。我更新了答案。@FloatingRock:我没听清你的问题。@Kuldeep基本上,问题是如果我想在
id
以外的东西上加入两个表,该怎么办?谢谢。。作品我很好奇,我需要怎么做才能根据
Charge
属性为
cards
添加一个条件(例如
Charge.joins(:card)。where(cards:{name:Charge.name})
——这不起作用)您缺少关于“where”方法的结束语,不过,这看起来不错。@JaimeBellmyer谢谢你指出它。我更新了答案。@FloatingRock:我没听清你的问题。@Kuldeep基本上,问题是如果我想在
id
以外的东西上加入两个表,该怎么办?谢谢。。作品我很好奇,我需要怎么做才能根据
Charge
属性为
cards
添加一个条件(例如
Charge.joins(:card)。where(cards:{name:Charge.name})
——这不起作用)您缺少关于“where”方法的结束语,不过,这看起来不错。@JaimeBellmyer谢谢你指出它。我更新了答案。@FloatingRock:我没听清你的问题。@Kuldeep本质上,问题是如果我想在
id
以外的东西上加入两个表,该怎么办?