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