Merge 5198c7da723821375f726acaeffe251810b88a30 into 28cf259651f11bad122a2aef11f12bb1763224c2

This commit is contained in:
Grégoire Molveau 2017-05-18 03:47:39 +00:00 committed by GitHub
commit 36a740856e

View File

@ -173,6 +173,27 @@ type Language struct {
db.Model(&user).Related(&languages, "Languages")
//// SELECT * FROM "languages" INNER JOIN "user_languages" ON "user_languages"."language_id" = "languages"."id" WHERE "user_languages"."user_id" = 111
```
*With back-reference :
```go
// User has and belongs to many languages, use `user_languages` as join table
// Make sure the two models are in different files
type User struct {
gorm.Model
Languages []Language `gorm:"many2many:user_languages;"`
}
type Language struct {
gorm.Model
Name string
Users []User `gorm:"many2many:user_languages;"`
}
db.Model(&language).Related(&users)
//// SELECT * FROM "users" INNER JOIN "user_languages" ON "user_languages"."user_id" = "users"."id" WHERE ("user_languages"."language_id" IN ('111'))
db.Model(&languages).Related(&users)
//// SELECT * FROM "users" INNER JOIN "user_languages" ON "user_languages"."user_id" = "users"."id" WHERE ("user_languages"."language_id" IN ('111','112,'113'))
```
*With back-reference :
```go