好的,所以这里的交易......这应该很简单,而且我可能在某处搞砸某种语法:
我的Charge
模型与belongs_to
有Card
关系。
我想使用Charges
“John Doe”检索属于任何Card
的所有name
。
我已经尝试了以下内容,但它不能正常工作(可能是因为我搞砸了语法):
Charge.where(card: [name: "John Doe"])
帮助一个兄弟?
答案 0 :(得分:2)
@FloatingRock:试试这个:
Charge.joins(:card).where(cards: { name: 'John Doe' })
根据您的要求,首先我们需要将Charge
加入Card
,然后应用条件。希望它适合你。
答案 1 :(得分:1)
这并不完全符合您的要求,但如果您是Rails的新手而且我不知道,我会发布它。如果您已经拥有了卡片对象,您可以像下面这样获得收费列表:
card.charges
这也更加安全,因为您不想假设两张同名的卡属于同一个人。
您可能已经知道这一点,但它会在其他可能需要它的人身上。