我想在golang gorm中执行如下查询:
select * from MY_TABLE where MY_FIELD in (select max(MY_FIELD) as MY_FIELD from MY_TABLE group by ANOTHER_FIELD)
在gorm中,除了原始查询之外,还有其他方法吗?
让我们假设我有以下结构 type Job struct {
ID string `sql:"type:uuid;primary_key;"`
Title string `json:"title,omitempty"`
Skills []*skill.Skill `json:"skills,omitempty"gorm:"many2many:job_skill;"`
}
type Skill str
正在运行一个查询,以检查表是否存在或不使用gorm orm作为golang。下面是我的密码。
package main
import (
"fmt"
"log"
"gorm.io/driver/postgres"
"gorm.io/gorm"
_ "github.com/lib/pq"
)
// App sets up and runs the app
type App struct {
DB *gorm.DB
}
`const tableCreationQ
我想知道如何使用gorm在FROM子句中使用子查询。它看起来如下:
SELECT * FROM
(
SELECT foo.*
FROM foo
WHERE bar = "baz"
) AS t1
WHERE t1.id = 1;
我使用golang构建了子查询:
db.Model(Foo{}).Where("bar = ?", "baz")
但是如何在FROM中使用它作为子查询
如果有一种方法可以将gorm查询转换为SQL字符串,那么我可以简单地将该字符串插入原始SQL中。但似乎并没有这样的方法。有什么建议吗?
我遇到了一些问题,试图在带有Go应用程序的码头容器中运行CMD命令。
这是我得到的输出:
golang-api | /bin/sh: ./server: not found
golang-api exited with code 127
这是Dockerfile
FROM golang:1.18-alpine
RUN apk add g++ && apk add make
WORKDIR /app
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN make build
EXPOSE 8000
CMD .
我有一个包含Runner类型对象列表的Task类型。我正在尝试使用golang gorm将其映射到数据库,但它没有外键,并且我在迁移过程中获得了invalid association
我的任务结构:
type Task struct {
gorm.Model
Name string `gorm:"not null;unique_index"`
Description string
Runners []Runner
}
我的Runner结构:
type Runner struct {
gorm.Model
Na
我正在用golang编写我的第一个应用程序,对于新手的问题很抱歉,但我无法找到解决以下问题的方法:
我有两张桌子,一张是position,另一张是附件。每个位置可以有多个附件。这是我的模型:
type Positions struct {
Sys_id int `gorm:"AUTO_INCREMENT" gorm:"column:sys_id" json:"sys_id,omitempty"`
Name string `gorm:"size:120" gorm:"column:name"
我有这样的结构。
type Category struct {
ID int `json:"id"`
MetaDescription string `json:"metaDescription" gorm:"column:metadescription"`
MetaTitle string `json:"metaTitle" gorm:"column:metatitle"`
Name string `json:
Golang的GORM库支持复合主键。但是如何从相关模型中引用它们呢? 例如,假设我有一个用户和一个Note模型: type User struct {
OrganizationID uint `gorm:"primaryKey; not null"`
Name string `gorm:"primaryKey; not null"`
}
type Note struct {
ID uint `gorm:"primaryKey; not null"`
Orga
我是新手,在将我的CRUD应用程序从使用普通SQL迁移到GORM时,我遇到了基于主键的查询在与源匹配时返回主键和nil的问题,而它应该返回值/记录本身,如中所述
我期望的是查询的值
postgres=# SELECT * FROM users WHERE id = 1;
id | name | age | created_at | updated_at | deleted_at | location
----+------+-----+----------------------------+------------+------------+--------
在Golang中,hasMany关系的子关系可以用预加载很容易地得到。但是如何扭转这种关系。
type Owner struct {
ID int `gorm:"column:id" json:"id"`
Name string `gorm:"column:name" json:"name"`
Projects []Project `gorm:"foreignkey:OwnerID" json:"projects"`
}
我有这两个结构
type User struct {
gorm.Model
Name string
CompanyID int
Company Company
}
type Company struct {
gorm.Model
Name string
Adress string
}
我想得到用户,并预加载他们的公司,但我不想得到入口字段,我尝试了自定义预加载,如:我在邮递员测试它。查询返回所有字段,但对于adress,我得到一个空字符串,原因是当将结果存储在用户struct golang中时,会自动初始化所有字段,并且字段adress将返回它的初始
这是我的代码:
package main
import (
"fmt"
"time"
"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/sqlite"
)
type ClientCustomer struct {
Id int `json:"Id"`
Name string
Created time.Time
key string
Use
我有这个SQL查询,它在隔离的情况下工作得很好,受影响的2行绝对是好的
update chores set life_status ='Processing' where life_status = 'Active' and chore_type ='Shared' and money_assigned > 0
但是当我在golang中尝试gorm的执行变量语句时,例如
err := h.db.Raw("update chores set life_status ='Processing' where life_st
我在使用golang orm创建一个事务时遇到了困难。我得到的字段索引超出了范围误差。似乎无法理解这里的问题。我正在运行中的事务。
在go.mod文件中
gorm.io/driver/mysql v1.3.6 /间接
gorm.io/gorm诉1.23.8/间接
我的模特是
type Company struct {
ID uint64 `json:"id"`
Name string `gorm:"size:255;not null" json:"name"`
Own
我试图使用Golang的jinzhu GORM从Postgresql数据库中获取多个值。我的查询可以返回任何值、一个值或多个值。我希望将它们保存到一个数组中,这里是代码片段:
var zones []string
d := db //database
d.Raw(`SELECT
DISTINCT reg.name
FROM
regions reg
LEFT JOIN
ad_regions adreg ON adreg.region_id = reg.id
我试着用Golang开发Restfull,但是gorm关系有一个问题。
我是刚在戈朗和戈伦工作的,我遵循官方网站的结构例子。
这里的代码片段:
type Server struct {
DB *gorm.DB
Router *mux.Router
}
type CreditCard struct {
gorm.Model
Number string
UserID uint
}
type User struct {
gorm.Model
Name string
Card CreditCard
}
func