考慮以下表:如何通過關係表連接表格?
人:
id: integer
name: string
朋友:
id1: integer
id2: integer
我想找到所有對朋友,所以我用的是這樣的:
People.joins("JOIN friends ON friend.id1 = people.id JOIN friends ON friend.id2 = people.id")
它生成此SQL:
SELECT "people".* FROM "people"
JOIN friends ON friends.id1 = people.id
JOIN people ON friends.id2 = people.id
與以下錯誤:
(pry) output error: #<ActiveRecord::StatementInvalid:
PG::DuplicateAlias: ERROR: table name "people" specified more than once
出了什麼問題,指定people
不止一次?
嘗試'...加入上friends.id2 = p.id'人頁。你的查詢中有兩個People表,需要區分它們。你的「人物」和「朋友」模特是什麼樣的?特別是'belongs_to'和'has_many'等語句?那些通常會照顧簡單的加入。 – lurker
@lurker謝謝,但現在我得到一個完全不同的錯誤。 : -/ –
查看我的更新評論。你應該使用Rails模型工具來簡化它(這是使用Rails :)的一部分)。你看到了什麼不同的錯誤?你看到了什麼新的錯誤? – lurker