Ich habe 3 Tabellen, um meine viele zu viele Beziehung darzustellen. Kunden, Unternehmen, Firmenkunden.Gebäude go-pg ORM Abfrage für viele zu viele Beziehung
companies:
- id
- name
customers:
- id
- username
companies_customers:
- id
- customer_id
- company_id
Nun ist die Abfrage, die ich ausführen möchten ist es, alle Kunden mit einem company_id von 1. Eine rohe SQL-Abfrage auswählen könnte/etwas könnte wie folgt aussehen:
SELECT * FROM customers c INNER JOIN customers_companies cc ON c.id = cc.customer_id WHERE cc.company_id = 1
Ich habe versucht, zu tun so etwas wie dies in go-pg:
var customers []*Customer
s.DB.Model(&customers).Relation("Companies", func(q *orm.Query) (*orm.Query, error) {
return q.Where("company_id = ?", companyID), nil
}).Select()
Welches der beiden wäre effizienter? – Rodrigo
@Rodrigo Wenn Sie nach Effizienz suchen, ist die erste Option besser, weil Sie nur eine Abfrage ausführen, aber Sie müssen die Verknüpfung selbst schreiben. – Motakjuq