查询关联的表(不丢失我的头发)

时间:2014-10-04 15:13:38

标签: ruby-on-rails rails-activerecord

好的,所以这里的交易......这应该很简单,而且我可能在某处搞砸某种语法:


我的Charge模型与belongs_toCard关系。

我想使用Charges“John Doe”检索属于任何Card的所有name

我已经尝试了以下内容,但它不能正常工作(可能是因为我搞砸了语法):

Charge.where(card: [name: "John Doe"])

帮助一个兄弟?

2 个答案:

答案 0 :(得分:2)

@FloatingRock:试试这个:

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

根据您的要求,首先我们需要将Charge加入Card,然后应用条件。希望它适合你。

答案 1 :(得分:1)

这并不完全符合您的要求,但如果您是Rails的新手而且我不知道,我会发布它。如果您已经拥有了卡片对象,您可以像下面这样获得收费列表:

card.charges

这也更加安全,因为您不想假设两张同名的卡属于同一个人。

您可能已经知道这一点,但它会在其他可能需要它的人身上。