草庐IT

go - 如何合并查询

我正在编写一个页面,其中呈现了一个带有分页的博客文章列表。我在Go1.12中使用GORM。每篇博文都有一个名为User的作者,如果需要,该用户可以包含一些额外的员工信息。(例如介绍、功能标题……)我的模型:typeEmployeeInfostruct{UserIDuint`gorm:"notnull;unique"`Titlestring`gorm:"notnull"`Introstring`gorm:""`}typeUserstruct{gorm.ModelUsernamestring`gorm:"unique;notnull"`Passwordstring`gorm:"unique

gorm golang one2many 同一张表

我正在尝试使用golanggorm在(我的)sql表中创建一个自引用。目前我的代码如下所示:typePersonstruct{gorm.ModelNamestringChildren[]*Person`gorm:"ForeignKey:ParentID"`ParentIDuint}funcmain(){/*codetogetdatabaseconnectionomitted*/p:=&Person{Name:"Sally"}db.Create(p)children:=[]*Person{{Name:"Jane",ParentID:p.ID},{Name:"Tom",ParentID:p

Gorm 计数预加载字段

我使用带有GoLang和Echo框架的Postgres作为我的基础,我使用Gorm来构建我的数据库查询。这是我的个人资料模型,typeProfilestruct{gorm.ModelInvoiceCountuint`gorm:"-"`CompanyNamestring`gorm:"size:255"`CompanyNumberstring`gorm:"size:10"`CompanyVatNumberstring`gorm:"size:10"`DateAddedtime.Time`gorm:"type:date"`PrimaryEmailstring`gorm:"size:255"`I

sql - 使用 gorm 插入数据时,检查不存在相同

我正在使用gorm。我想在不存在相同值的情况下插入值就像原始sql一样。INSERTINTOstudent(firstname,lastname)SELECT'NEWFIRSTNAME','NEWLASTNAME'FROMDUALWHERENOTEXISTS(SELECT1FROMtable_nameWHEREfirstname='NEWFIRSTNAME'ANDlastname='NEWLASTNAME')LIMIT1;如何用gorm实现这个功能typeStudentstruct{FirstnamestringLastnamestring}funcinsert(){stu:=Stud

postgresql - Gorm 无法连接到本地 postgres 数据库

我是GoLang的新手,在将我的Go网络服务器与Postgres数据库连接时遇到了问题。有人可以告诉我我在这里做错了什么吗?顺便说一句,所有这些凭据都是正确的。用户存在,密码正确,数据库存在且属于用户。packageappimport("github.com/jinzhu/gorm"_"github.com/jinzhu/gorm/dialects/postgres")funcconnectDB(){db,err:=gorm.Open("postgres","host=localhostport=5432user=power_userdbname=local_dbpassword=po

Gorm 多个事务以删除旧的搜索条件

bg:=Db.Begin()UDebt:=make([]UserDebt,0)page,_:=strconv.Atoi(c.DefaultPostForm("page","1"))limit,_:=strconv.Atoi(c.DefaultPostForm("limit","20"))db:=Db.Model(&UDebt).Preload("User")start:=c.PostForm("start")ifstart!=""{db=db.Where("datetime>=?",start)bg=bg.Where("datetime>=?",start)}debts:=make([

java - 如何使用 gorm 动态添加查询参数?

我是golang开发的新手。我有6个参数要使用gorm传递给查询。这是选择查询,因此,我们需要根据输入值过滤值。因此,我们需要将过滤器动态传递到查询中。我试过了,但没有解决方案。funcGetUsers(DB*gorm.DB,Offsetint,Limitint,Useruibackendmodels.UserDetails)(Users[]uibackendmodels.UserDetails,Err错误){query:="SELECTuserid,username,nickname,email,mobile,location,status,roleids,trsids,brandi

gorm 多对一返回空

我想使用gorm在我的项目中使用多对一关系。我的struct是这样的:typeBookstruct{IDuintTitlestringSubtitlestringChapters[]Chapter`gorm:"foreignkey:BookID;association_foreignkey:ID"`}//TableNameisbookfunc(Book)TableName()string{return"book"}//ChapterofbookstypeChapterstruct{IDuintBookIDstringChapterstring}我想要的是使用以下命令获取一本书的章节:b

go - 使用 go-mocket 模拟 GORM 数据库不起作用

我正在尝试使用go-mocket来模拟gorm数据库,但它无法正常工作。我没有向我的ClusterExists函数发送任何模拟数据,因此单元测试无法按预期工作。在文档中有两种模拟“简单链用法”和“FakeResponse”的方法。我已经尝试了两种方法,但都不起作用。我的功能:funcClusterExists(cluster*Cluster,db*gorm.DB)bool{c:=Cluster{}exists:=!db.Where("cluster_name=?ANDenv_type=?",cluster.ClusterName,cluster.EnvType).First(&c).R

sqlite - GORM 关联 .Create()

我几天前开始学习go,我正在尝试使用go和gorm构建一个RESTAPI以实现数据持久化。我正在构建一个电影管理API,并且我有一些配置文件可以将质量和语言关联起来。typeProfilestruct{gorm.ModelThresholdQualityQuality`json:"thresholdQuality"validate:"required"`PreferredLanguageLanguage`json:"preferredLanguage"validate:"required"`}typeLanguagestruct{Languagestring`json:"languag