在保存父项时自动删除子项记录>>

问题描述 投票:0回答:1

假设我有下表

type User struct {
    ID        int
    Name      string
    Addresses []*Address
}
type Address struct {
    ID      int
    UserID  int
    Address string
}

并且我有1个用户,在DB上有2个地址

User{
  ID: 1,
  Name: "sample",
  Addresses: []*Address{
    &Address{ID: 10, UserID: 1, Address: "addr1"},
    &Address{ID: 11, UserID: 1, Address: "addr2"} // <- want to delete it
  }
}

如果我从“用户的地址”切片中删除第二个地址并保存用户实体,第二个地址仍然存在于数据库中...

保存父母时有什么办法删除孩子?

假设我有以下表格,类型为User struct {ID int名称字符串地址[] * Address}类型为地址struct {ID int UserID int地址字符串}和I ...

go gorm go-gorm
1个回答
0
投票

您确定要保存的那个,在同一条目上更新还是在其他条目上创建。在针对该特定用户的删除操作上,您可能还需要对该用户进行更新操作,即,完全删除该地址列并使用该地址进行更新可能会起作用。我对gorm框架不熟悉,但是某些操作无法直接在orm框架中完成,因为在orm框架中我们需要运行显式查询以执行相同操作,并且大多数orm框架都提供了运行db查询的选项。

© www.soinside.com 2019 - 2024. All rights reserved.