我的数据库中有一个层次模型(一个团队有客户,每个客户都可以有注释)。如果团队被删除,我的目标是能够清理数据库:->删除团队->删除所有客户->删除每个客户的所有备注我的计划是通过BeforeDelete回调来完成,但是在团队回调之后,不再正确调用Customers的BeforeDelete。在数据库中,团队及其客户被删除,但客户的注释没有。也不打印日志行。您知道是否可以链接这些回调,或者是设计不执行第二个回调。packagemainimport("errors""log""github.com/jinzhu/gorm"_"github.com/jinzhu/gorm/dialects/
我正在使用http://gorm.io/docs/has_many.html在一个团队拥有的一个表中创建多个条目。Teamstruct{IDint64`gorm:"primary_key"json:"Id"`PayingMemberIDsql.NullInt64`json:"PayingMemberId,int64"`PayingMember*UserNamestring`json:"Name"`Teamcoins[]Teamcoin`gorm:"foreignkey:TeamID"`}Teamcoinstruct{IDint64`gorm:"primary_key"json:"Id"
我需要一个Organization与父组织有关系。像这样:typeOrganizationstruct{gorm.ModelParent*Organization`gorm:"ForeignKey:ParentId"`Namestring`gorm:"size:30"`Descriptionstring`gorm:"size:100"`}我想要ParentId字段,该字段将被引用到同一个表中的id字段。但正如我所见,没有领域和关系。我该如何解决? 最佳答案 我已经这样解决了,但我不确定这是不是正确的方法:typeOrganizati
我尝试将golang中的float32保存到db(postgresql)。我用戈尔姆。我在结构中的字段:Cluster[512]float32`gorm:"column:cluster;type:float[]"`当我保存到数据库时,日志模式显示正确的sql,但写入错误:convertingargument$3type:unsupportedtype[512]float32,aarray谁知道如何告诉postgres做什么?谢谢! 最佳答案 我遇到过这样的问题。我建议您为实现的数组创建自己的类型typeValuerinterface
似乎找不到任何关于使用gorm创建到mysql的SSL连接的资源。我正在创建这样的非SSL连接:cfg:=mysql.Config{User:config.User,Passwd:config.Password,Addr:fmt.Sprintf("%s:%d",config.Host,config.Port),Net:"tcp",Params:options,}str:=cfg.FormatDSN()db,err:=gorm.Open("mysql",str)在带有“pem”文件路径的参数选项中传递“ssl-ca”选项似乎不起作用。有什么注意事项吗? 最佳答
我想执行一个子查询:SELECTid,col1,col2FROMtable1WHEREcol1='val1'andcol2NOTIN(SELECTIDFROMtable2WHEREcol1='val1'andcol3='val3')如何使用GORM执行它? 最佳答案 GORM可以compose查询。编写标准查询,然后调用.SubQuery()方法:sub:=db.Table("table2").Select("ID").Where("col1=?",'val1').SubQuery()您可以将它作为参数放在.Where()方法中er
我在一个小go应用程序中使用GORM进行了MySQL查询。我已经声明了我的域结构typeDomainstruct{gorm.ModelNamestring...}然后,当我使用此方法使用GORM向MySQL发送查询时。funcDomainInfos(whttp.ResponseWriter,r*http.Request){vars:=mux.Vars(r)w.WriteHeader(http.StatusOK)vardDomainconfig.DbConnection.Where("name=?",vars["domain"]).Find(&d)json.NewEncoder(w).E
我有2个简单的实体,用户有很多Assets:typeUserstruct{UserIdint`gorm:"PRIMARY_KEY"`Emailstring`gorm:"column:email"`FirstNamestring`gorm:"column:firstname"`LastNamestring`gorm:"column:lastname"`Assets[]Asset`gorm:"foreignkey:user_id"`}typeAssetstruct{AssetIdint`gorm:"PRIMARY_KEY"`UserIdint`gorm:"column:user_id"`S
我有以下数据结构:typeCollectionstruct{gorm.ModelNamestringCollectionItems[]CollectionItem}typeCollectionItemstruct{CollectionIDuintItemIDuintItem}如何通过多个collection_item关联查询collections表排序结果,即具有大多数项目的集合排在第一位。谢谢。 最佳答案 没有railscountercache这样的特征在gorm中,但是gorm有回调before*&after*因此很容易实现按集
我写了blow代码,它只返回1行而不是4行:packagemainimport("fmt""github.com/jinzhu/gorm"_"github.com/jinzhu/gorm/dialects/sqlite")typePoststruct{gorm.ModelTitlestringTextstringComments[]Comment}typeCommentstruct{gorm.ModelTextstringPostIDuint`gorm:"foreignkey:ID;association_foreignkey:PostID"`}funcmain(){db,err:=g