thinkphp5使用模型删除与复杂查询EXP
模型删除
应用软删除
表中需要有字段,deletetime
模型中使用下面方法
use SoftDelete;protected $deleteTime = 'delete_time';
真实删除
// 软删除
User::destroy(1);
// 真实删除
User::destroy(1,true);
$user = User::get(1);
// 软删除
$user->delete();
// 真实删除
$user->delete(true);
EXP复杂查询
thinkphp的exp语句,支持复杂的查询条件

还要其他的复杂查询涵盖了mysql所有的复杂查询
https://www.kancloud.cn/manual/thinkphp5/135182
$list=$list->where('','exp', "instr(CONCAT( ',', tags, ',' ), ',".$tags.",' )");//查找那些tags字段中包含特定$tags值的记录
where(‘’,‘’, ‘exp’, …):这里,前两个参数为空字符串,是因为在使用exp时,通常不需要指定字段名和值,自定义的SQL表达式会直接用于构建条件。
"instr(CONCAT( ',', tags, ',' ), ',".$tags.",' )"
这部分是自定义的SQL表达式,其作用是检查tags字段值中是否包含某个特定的标签(由变量$tags表示)。
CONCAT( ',', tags, ',' )
这个函数将tags字段值前后各加上逗号,例如,如果tags原值为"tag1,tag2,tag3",则处理后变为",tag1,tag2,tag3,"。这样做的目的是为了方便使用instr函数检查子串是否存在,无论$tags是要查找的标签位于值的开始、中间还是结束,都能准确匹配。
instr(..., ',".$tags.",' )
instr函数用于查找子串位置,它在这里检查刚才构造的带有逗号的字符串中是否包含形如," t a g s " , 的模式,即 tags",的模式,即 tags",的模式,即tags前后各有一个逗号。如果找到匹配项,则返回子串起始位置,否则返回0。在ThinkPHP的上下文中,只要instr的结果不为0,就认为条件满足,即tags字段包含了指定的$tags值。
这里使用原生的sql查询
select * from fa-todo where instr(CONCAT( ',', tags, ',' ), ’,4,‘)
这里是可以正常运行的,查询数据表中是否有tags字段汉语4的数据

tp5中save和update的区别
model->where(id,id)->save
这里用了where模型查询会变成query查询,不能再用save
所以改成update能使用
相关文章:
thinkphp5使用模型删除与复杂查询EXP
模型删除 应用软删除 表中需要有字段,deletetime 模型中使用下面方法 use SoftDelete;protected $deleteTime delete_time;真实删除 // 软删除 User::destroy(1); // 真实删除 User::destroy(1,true); $user User::get(1); // 软删除 $user->delete(); // 真…...
铜陵市省重点实验室、省工程技术研究中心认定奖励补贴和申报认定条件流程归集
本文介绍铜陵市省重点实验室、省工程技术研究中心认定奖励补贴和申报认定条件等内容,详情如下,需要申报的可指导! 铜陵市省重点实验室、省工程技术研究中心认定奖励补贴(2023年发布) 对新认定的国家重点实验室、国家…...
Linux-目录和文件
目录 一、Linux目录 1、Linux常见目录 2、常见的Linux文件类型 二、cat-查看文件命令 1、cat命令用法 三、分页查看文件内容 1、 more命令 2、less命令 3、more和less的区别 四、查看文件开头或末尾 1、head命令 2、tail命令 3、wc-统计文件内容 4、grep 命令…...
2024-06月 | 维信金科 | 风控数据岗位推荐,高收入岗位来袭!
今日推荐岗位:策略分析经理/分析专家、贷前、中策略分析、风控模型分析。 风控部门是金融业务的核心部门,而从事风控行业的人即称之为风险管理者。是大脑,是最最最重要的部门之一。今日推荐岗位的核心技能分布如下: 简历发送方式…...
不适合编程的人是怎样的?
你知道不适合编程的人是怎样的吗?其实,对编程没有兴趣的人往往都不适合从事编程工作。编程并非是一项轻松简单的任务,它需要投入大量的时间和精力。 编程领域有其独特的特点和要求。首先,编程有着相当陡峭的学习曲线。从最基础的语…...
el-table表格变更前后根据数据值改变背景颜色
需求: 1.左侧变更前表格数据不可以编辑,并且背景色加灰 2.右侧变更后表格数据可被编辑,编辑后变更前与变更后行数据不一致,添加背景色区分 3.点击删除的时候,给变更后表格当前行,添加背景色和删除的中横…...
flask基础知识1
目录 1.介绍 2.体验一下 3.配置参数: 4.路由和URL 1.路由 2.动态路由: 自定义转换器: 3.使用自定义转换器 5.url_for函数 6.request参数 7.处理响应: 1.重定向: 2.返回json数据: 3.返回模板&…...
第8天:Django Admin高级配置
第8天:Django Admin高级配置 目标 定制Django Admin界面,提高数据管理效率。 任务概览 注册模型到Admin界面。定制Admin选项,如列表显示、搜索字段、过滤器等。 详细步骤 1. 注册模型到Admin界面 在Django Admin中注册模型,…...
本地无法连接linux上的MariaDB数据库
问题:本地用DBeaver无法连接服务器上的MariaDB数据库 ? 测试1:在cmd中ping 服务器IP,看是否能ping通,能ping通,没有问题 测试2:在cmd中telnet 服务器IP 端口,看是否能访问…...
使用 Netty 自定义解码器处理粘包和拆包问题详解
使用 Netty 自定义解码器处理粘包和拆包问题详解 在网络编程中,粘包和拆包问题是常见的挑战。粘包是指多个数据包在传输过程中粘在一起,而拆包是指一个数据包在传输过程中被拆分成多个部分。Netty 是一个高性能、事件驱动的网络应用框架,提供…...
SDK编译IO Domain电压选择
开源鸿蒙硬件方案领跑者 触觉智能 本文适用于在Purple Pi OH开发板进行分区镜像烧录。触觉智能的Purple Pi OH鸿蒙开源主板,是华为Laval官方社区主荐的一款鸿蒙开发主板。 该主板主要针对学生党,极客,工程师,极大降低了开源鸿蒙…...
如何在纯内网环境下,将EasyCVR视频汇聚网关通过4G与第三方公网云平台级联?
EasyCVR视频汇聚网关是TSINGSEE青犀软硬一体的一款产品,可提供多协议的接入、音视频采集、处理,能实现海量前端设备的轻量化接入/转码/分发、视频直播、云端录像、云存储、检索回看、智能告警、平台级联等,兼容多种操作系统,轻松扩…...
2024-06-14 AI资讯:CCF论坛探讨大模型挑战,启动安全赛
智源社区 共话大模型技术进展与挑战,CCF大模型论坛北京会议圆满落幕! 2024 年 6 月 6 日中国计算机学会大模型论坛(CCF FoLM)主题会议在北京顺利举办。本次会议主题为“大模型技术进展与挑战”,各位专家围绕大模型技…...
玩转Matlab-Simscape(初级)- 10 - 基于COMSOLSimulink 凸轮机构的控制仿真
** 玩转Matlab-Simscape(初级)- 10 - 基于COMSOL&Simulink 凸轮机构的控制仿真 ** 目录 玩转Matlab-Simscape(初级)- 10 - 基于COMSOL&Simulink 凸轮机构的控制仿真 前言一、简介二、在Solidworks中创建3D模型ÿ…...
spark学习总结
系列文章目录 第1天总结:spark基础学习 1- Spark基本介绍(了解)2- Spark入门案例(掌握)3- 常见面试题(掌握) 文章目录 系列文章目录前言一、Spark基本介绍1、Spark是什么1.1 定义1.2 Spark与M…...
eNSP学习——帧中继基本配置
目录 主要命令 基本原理 实验目的 实验内容 实验拓扑 实验编址 实验步骤 1、基本配置 2、静态与动态映射的配置 3、子接口配置和静态路由 主要命令 [R1]int s1/0/0 [R1-Serial1/0/0]link-protocol fr //配置链路层协议为FR Warning: The encapsulation protocol…...
XML Encoding = ‘GBK‘ after STRANS,中文乱码
最近帮同事处理了一个中信银行银企直连接口的一个问题,同事反馈,使用STRANS转换XML后,encoding始终是’utf-16’,就算指定了GBK也不行。尝试了很多办法始终不行,发到银行的数据中,中文始终是乱码。 Debug使用HTML视图…...
C 语言通用MySQL 功能增删查改功能.
前提条件:Ubuntu 22.04.4 LTS、MSQL 8数据库 并且已经安装MySQL 8 开发库。如果没有安装,可以查考:C 语言连接MySQL数据库 项目要求: 1、完成MySQL数据库增删改查通用功能封装 2、编辑makefile 文件实现项目动态更新和快速编译 项目结构…...
Java学习 - MySQL表 增减删查
建表 按照DDL练习,先创建student表和home表 插入【增】 向student表中同时插入三个新的字段【1,Alice,f,15353535353】【2,Bob,m,13646464646】【3,Jack,m,13745908686】 INSERT INTO student(id,name,gender,phone) VALUES(1,Alice,f,15353535353),(2,Bob,m,1364…...
力扣SQL50 有趣的电影 简单查询
Problem: 620. 有趣的电影 Code select * from cinema where id % 2 1 and description ! boring order by rating desc;...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
基于服务器使用 apt 安装、配置 Nginx
🧾 一、查看可安装的 Nginx 版本 首先,你可以运行以下命令查看可用版本: apt-cache madison nginx-core输出示例: nginx-core | 1.18.0-6ubuntu14.6 | http://archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages ng…...
基于Uniapp开发HarmonyOS 5.0旅游应用技术实践
一、技术选型背景 1.跨平台优势 Uniapp采用Vue.js框架,支持"一次开发,多端部署",可同步生成HarmonyOS、iOS、Android等多平台应用。 2.鸿蒙特性融合 HarmonyOS 5.0的分布式能力与原子化服务,为旅游应用带来…...
IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
基于 TAPD 进行项目管理
起因 自己写了个小工具,仓库用的Github。之前在用markdown进行需求管理,现在随着功能的增加,感觉有点难以管理了,所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD,需要提供一个企业名新建一个项目&#…...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
elementUI点击浏览table所选行数据查看文档
项目场景: table按照要求特定的数据变成按钮可以点击 解决方案: <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...
[USACO23FEB] Bakery S
题目描述 Bessie 开了一家面包店! 在她的面包店里,Bessie 有一个烤箱,可以在 t C t_C tC 的时间内生产一块饼干或在 t M t_M tM 单位时间内生产一块松糕。 ( 1 ≤ t C , t M ≤ 10 9 ) (1 \le t_C,t_M \le 10^9) (1≤tC,tM≤109)。由于空间…...
