gorm只查询某一些字段字段的方法Select, 和只查询某一字段方法 Pluck

gorm中默认是查询所有字段的, 如果我们只需要获取某些字段的值,可以通过使用 Select方法来指定要查询的字段来实现, 也可以通过定义一个需要字段的结构体来实现; 而如果我们只需要查询某一个字段的值就可以使用 Pluck方法来获取(这里的pluck就是采摘的意思,表示只摘取某一个字段的值)

Select 指定查询某些字段的方法 

先看看这个方法的定义, 这里给出了2种传递要查询字段的方法

 其实还有第三种传递查询字段的方法, 就是直接把要查询的字段使用逗号分隔后当做一个字符串传递过去,如:db.Select("uid,dept_id,mobile,username,password,nickname,email"),

如果我们通过Select方法指定了查询字段,则在获取数据的时候就只会获取到我们字段了字段的数据,没有指定自动的数据就是默认值了。

示例: 我们定义了一个测试结构体,里面包含7个字段,但是Select里面只指定了4个字段,查询后就就只会获取这4个字段的值。

// 测试type UserDemo struct {UID      int32Mobile   stringUsername stringPassword stringNickname stringEmail    stringStatus   string}demo := UserDemo{}global.GetTx("sys_user").Select("uid,mobile,username,email").Where("uid = 2").Find(&demo)

Pluck获取某一字段的方法

在某些时候,我们只需要某一个字段的值,这时候我们就可以使用Pluck来获取指定字段的值, 

官方的定义: 这里只演示了获取一个列表值的示例,其实我们也可以只获取某条数据的某个字段的值。

 我们如果需要获取的是某个字段的值列表,则在第二个参数这里传递一个切片, 如果只需要获取某条数据的某个值,传一个变量即可, 注意这里第二个参数都必须是指针类型的

// 测试var uname string // 获取某条数据的某个值global.GetTx("sys_user").Where("uid = 2").Pluck("username",&uname)var names []string // 获取字段的值列表global.GetTx("sys_user").Pluck("username",&names)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/45843.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何将已有的docker服务迁移至Kubernetes集群中

如何将已有的docker服务迁移至Kubernetes集群中 问题描述迁移思路准备工作迁移gitlab过程1. 创建namespace2. 创建gitlab需要的pv跟pvc3.创建gitlab的deployment4.创建gitlab的service5.创建gitlab的ingress6.将原来的gitlab容器中的数据打包7.恢复配置文件数据8.正式恢复数据 …

100个C++面试题

面试题1:变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定…

【刷题汇总 -- 删除公共字符、两个链表的第一个公共结点、mari和shiny】

C日常刷题积累 今日刷题汇总 - day0121、删除公共字符1.1、题目1.2、思路1.3、程序实现 -- 蛮力法1.4、程序实现 -- 哈希 2、两个链表的第一个公共结点2.1、题目2.2、思路2.3、程序实现 -- 对齐比对法2.4、程序实现 -- 公共端点路程法 3、mari和shiny3.1、题目3.2、思路3.3、程…

简述编辑 编译 和运行 java application的全过程

简述编辑 编译 和运行 java application的全过程 编辑、编译和运行Java应用程序通常涉及以下几个步骤: 1. 编辑 首先,你需要一个文本编辑器来编写Java源代码。常用的编辑器包括Eclipse、IntelliJ IDEA、Visual Studio Code、Notepad等。你可以创建一个新…

[python]基于yolov10+gradio目标检测演示系统设计

【设计介绍】 YOLOv10结合Gradio实现目标检测系统设计是一个结合了最新目标检测技术和快速部署框架的项目。下面将详细介绍这一系统的设计和实现过程。 一、YOLOv10介绍 YOLOv10是YOLO(You Only Look Once)系列的最新版本,由清华大学的研究…

RabbitMQ的工作模式

RabbitMQ的工作模式 Hello World 模式 #mermaid-svg-sbc2QNYZFRQYbEib {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-sbc2QNYZFRQYbEib .error-icon{fill:#552222;}#mermaid-svg-sbc2QNYZFRQYbEib .error-text{fi…

vivado GATED_CLOCK

门控时钟 使用GATED_CLOCK属性启用Vivado合成以执行门控转换 时钟。转换时钟门控逻辑,以便在可用时利用触发器启用引脚。这 优化可以消除时钟树上的逻辑,简化网表。 此RTL属性指示工具门控逻辑中的哪个信号是时钟。 该属性放置在作为时钟的信号或端口上。…

AI工具网站

AI网站: https://flowus.cn/kuhehe/share/05ff2af6-cccd-451a-99f3-e3334f8b405e https://chat.mynanian.top/list https://chat5.aiyunos.top https://share.wendabao.net https://sharedchat.cn/shared.html https://chat.tinycms.xyz:3002 https://chatnio.li…

vienna整流器的矢量分析

Vienna整流器使用六个二极管和六个IGBT(或MOSFET)组成,提供三个电平:正极电平(P)、中性点电平(O)和负极电平(N)。通过对功率管的控制,Vienna整流器…

Telegram Bot、小程序开发(一)基础入门

文章目录 一、Telegram Bot是什么?二、Telegram Bot应用场景三、机器人是如何工作的?架构getUpdates 和 webhookswebhooks要求自签名证书 四、如何创建和使用Telegram Bot?整体步骤和流程Bot 的申请过程将机器人添加到 Telegram 群组 一、Tel…

昇思25天打卡营第25天|基于MoblieNetv2的垃圾分类

一、简介: 本次实验主要介绍垃圾分类代码开发的方法。通过读取本地图像数据作为输入,对图像中的垃圾物体进行检测,并且将检测结果图片保存到文件中。 实验目的: 了解熟悉垃圾分类应用代码的编写(Python语言&#x…

卷积神经网络——LeNet——FashionMNIST

目录 一、文件结构二、model.py三、model_train.py四、model_test.py 一、文件结构 二、model.py import torch from torch import nn from torchsummary import summaryclass LeNet(nn.Module):def __init__(self):super(LeNet,self).__init__()self.c1 nn.Conv2d(in_channe…

Autosar Dcm配置-0x28服务ComControl-基于ETAS软件

文章目录 前言DcmDcmDsdDcmDspBswMBswMModeRequestPortBswMModeConditionBswMLogicalExpressionBswMActionBswMActionListBswMRule总结前言 0x28服务主要用来控制非诊断报文的通讯,一般在刷写预编程过程中,用来禁止APP的通信报文,可以减少总线负载率,提高刷写成功率。本文…

[C++] STL :stackqueue详解 及 模拟实现

标题:[C] STL :stack&&queue详解 水墨不写bug 目录 (一)stack简介 (二)queue简介 (三)容器适配器 (四)stack和queue的模拟实现 /*** …

liunx作业笔记1

一、选择题(每小题2分,共20分) 1、下列变量命名为Shell中无效变量名的是( D ) A、v_ar1 B、var1 C、_var D、*var 变量名以字母开头,包含下划线和数字。 2、关于expr命令的使用下列命令中得数不等于…

论文创新点总结

TOC 双分支模型 今天读的这篇文章中提到了一种以前没有接触的模型,这个模型使用了双分支的网络来处理图像增强的问题(将图像增强问题分解为亮度调整和色度恢复两个子问题),其中一个分支为亮度调整网络(LAN&#xff0…

数据结构(初阶1.复杂度)

文章目录 一、复杂度概念 二、时间复杂度 2.1 大O的渐进表示法 2.2 时间复杂度计算示例 2.2.1. // 计算Func2的时间复杂度? 2.2.2.// 计算Func3的时间复杂度? 2.2.3.// 计算Func4的时间复杂度? 2.2.4.// 计算strchr的时间复杂度? …

构造者模式的实现

引言——构造复杂对象的艺术 软件工程中,构造复杂对象的艺术被巧妙地封装在构造者模式(Builder Pattern)中。这种设计模式不仅提供了一种清晰且灵活的方式来构建复杂对象,还使得代码更具可读性和可维护性。构造者模式的核心思想是…

Unity最新第三方开源插件《Stateful Component》管理中大型项目MonoBehaviour各种序列化字段 ,的高级解决方案

上文提到了UIState, ObjectRefactor等,还提到了远古的NGUI, KBEngine-UI等 这个算是比较新的解决方法吧,但是抽象出来,问题还是这些个问题 所以你就说做游戏是不是先要解决这些问题? 而不是高大上的UiImage,DoozyUI等 Mono管理引用基本用法 ① 添加Stateful Component …

python的变量与赋值

变量 定义:变量是内存中存储数据的标识符。命名规则:变量名可以包含字母、数字、下划线,但不能以数字开头。例如:name, _var, var2 都是合法的变量名,但 2var 是不合法的。 赋值 操作符:使用 符号进行赋…