gorm many2many 使用上的问题
2. 问题描述?
gorm 获取关联数据时,并没有得到预期
- gorm 外键,数据库必须存在相应的外键吗?
3. 您期望得到的结果?
Organizations []MOrganization `json:"organizations" gorm:"many2many:org_user;ForeignKey:UserId;joinForeignKey:OrgId;"`
orm.Where("id", "144501629725577216").Preload("Organizations", "status = 1").Find(&loginUser)
下边是 sql
的 log
2021/11/16 13:48:25 D:/wwwroot/lecent-middle-center/service/user/user.go:172
[1.087ms] [rows:0] SELECT * FROM "org_user" WHERE "org_user"."org_id" = 144501629725577216
2021/11/16 13:48:25 D:/wwwroot/lecent-middle-center/service/user/user.go:172
[2.765ms] [rows:1] SELECT * FROM "user" WHERE "id" = '144501629725577216'
- 我确保 organization 数据表中存在数据。
- 上面这段代码返回的 organizations 是 nil
- sql 打印并没有去 organization 去取数据.
4. 您实际得到的结果?
organization 应该有一条或者多条数据
问题找到了,自问自答一波 :rage:
gorm 设置
各个键的详解