2014-10-04 45 views
0

好了,所以這裏的交易..這應該是簡單,我可能搞砸了某種語法的地方:查詢關聯表(而不會失去我的頭髮)


我有與Cardbelongs_to關係的Charge模型。

我想檢索屬於任何Cardname「John Doe」的所有Charges

我試過以下,但它不工作像它應該(可能是因爲我很差勁的語法):

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

幫助兄弟?

回答

2

@FloatingRock:剛剛嘗試這一點:

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

根據您的需求量的,首先我們需要加入ChargeCard,然後應用的條件。希望對你有效。

+0

謝謝..作品!我很好奇,我需要做些什麼才能根據「Charge」屬性添加'cards'的條件(例如'Charge.joins(:card).where(cards:{name:Charge.name}) ' - 這是行不通的) – FloatingRock 2014-10-04 15:21:33

+1

你在你的「where」方法中遺漏了一個關閉palenthesis,但是否則這看起來不錯。 – 2014-10-04 15:21:45

+0

@JaimeBellmyer謝謝你指出它。我更新了答案。 – Kuldeep 2014-10-04 15:23:53

1

這不完全是你要求的,但我會張貼它的情況下,你是新來的Rails,不知道。如果你有卡對象已經,你可以得到它的收費列表,像這樣:

card.charges 

這也更安全,因爲你不想承擔的兩個卡具有相同名稱屬於同一個人。

您可能已經知道這一點,但它會在這裏供其他人需要它。