2017-02-03 2 views
0

Ich habe Model1 und Model2 die has_and_belongs_to_many miteinander. Mit einer Liste von ID von Model2, wie kann ich Model1 zugeordnet mit ihnen?has_and_belongs_to_many - Abfrage Model1 Artikel gegeben Model2 ID Liste

Ich muss eine Verbindung verwenden, aber wie genau? Wenn es ein zu viele ein, würde ich dies tun:

select m1.* from model1 as m1 
    inner join model2 as m2 
    on m1.id = m2.m1_id 
    where m2.id in (?) 

Antwort

1

Sie diese mit der gleichen Abfrage in Rails erreichen würden Sie manuell Gebäude sind, wie

in ActiveRecord ausgedrückt
Model1.joins('inner join model2').where(model2: { id: list_of_ids }) 
+0

'PG: : SyntaxError: FEHLER: Syntaxfehler bei oder in der Nähe von "WHERE" ' – Kotaa

+0

sql' SELECT "model1". * FROM "model1" innerer Join model2 WHERE "model2". "Id" IN (1, 2, 3) ' – Kotaa

Verwandte Themen