火山go中通过gorm如何同时操作多个表
第一次学习go程序,打开自带的【跨平台HTTP通讯演示服务器端】例子,可以通过<火山程序 类型 = "通常" 版本 = 1 />
db = Gorm数据库类.打开 (GormMySQL驱动程序类.打开 ("root:root@tcp(127.0.0.1:3306)/data?charset=utf8mb4&parseTime=True&loc=Local"), 空对象, 错误.取地址 ())
可以正常打开数据库,如何打开【user】表后登录后,我如何再对其他的表进行操作,如登录后,在【User3】表中查找姓名为用户名一直的所有记录,同时将这个姓名保存到【Company】表中:
<火山程序 类型 = "通常" 版本 = 1 />
类 用户类3 <公开 @本地类 = "" @输出名 = "User3">
{
变量 ID <公开 类型 = 无符号整数 @输出名 = "ID" @服务器.标签 = "gorm:\"primarykey\"">
变量 姓名 <公开 类型 = 文本型 @输出名 = "Name">
变量 公司ID <公开 类型 = 整数 注释 = "和公司类的输出名\"Company\"以及主键输出名\"ID\"对应" @输出名 = "CompanyID">
变量 公司 <公开 类型 = 公司类 注释 = "和公司类的输出名\"Company\"对应" 注释 = "" 注释 = "用户类3和公司类是\"属于关系\"." @输出名 = "Company">
}
类 公司类 <公开 @本地类 = "" @输出名 = "Company">
{
变量 ID <公开 类型 = 无符号整数 @输出名 = "ID" @服务器.标签 = "gorm:\"primarykey\"">
变量 名称 <公开 类型 = 文本型 @输出名 = "Name">
}
我是新手,发不了图片,麻烦火友们指点指点
你试试,应该是这样写的。
<火山程序 类型 = "通常" 版本 = 1 />
类 启动类 <公开 基础类 = 程序类 折叠>
{
变量 可关闭 <类型 = 可关闭服务器类>
方法 启动方法 <公开 类型 = 整数>
{
可关闭.等待关闭 ()// 阻止服务器自动关闭
返回 (1)
}
方法 例子
{
变量 数据库 <参考 类型 = Gorm数据库类>
数据库 = Gorm数据库类.连接MySQL ()
数据库.自动迁移 (新建对象 (user), 新建对象 (Company))
变量 users <类型 = "user []">
数据库.置Where条件 ("name = ?", "用户名").查找2 (users)
循环 (取数组成员数 (users))
{
变量 company <类型 = Company>
company.name = users [取循环索引 ()].name
数据库.插入 (company)
}
}
方法 可关闭服务器类_被关闭 <接收事件 类型 = 整数 注释 = "检测到收到中断信号(Ctrl+C)后,将触发本事件,在本事件下处理服务器被关闭时所需的操作." 折叠>
参数 来源对象 <类型 = 可关闭服务器类 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
{
如果 (来源对象 == 可关闭)
{
}
返回 (0)
}
}
类 Company <公开>
{
变量 ID <公开 类型 = 整数>
变量 name <公开 类型 = 文本型>
}
类 user <公开>
{
变量 ID <公开 类型 = 整数>
变量 name <公开 类型 = 文本型>
#
}
其实就是正常cha询数据后,插入到另外一个表中。
页:
[1]