Add back-reference example to many-to-many doc
This commit is contained in:
parent
84fe98b1d6
commit
5198c7da72
@ -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'))
|
||||
```
|
||||
|
||||
*Specify Foreign Key & Association Key*
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user