六、ThinkPHP模型操作

写给使用thinkphp 6 的初级使用者 更快更好更优雅的使用 think tp6教程 mac 为M -> model 模型层 即连接数据库的模型a -> action 方法层 作为主要的前后端 交流媒介c -> controller 控制器层 控制器层 作为 放入方法层的主要方式如: 你创建了一个 mysql 为: turing_user 表那么 你在thinkphp目录 app controller 或者其他 app 下的应用中 创建了一个 model 的文件夹。 阅读详情

1、模型的定义

//在控制台中输入如下代码
php think make::mode 模块名(首字母大写)

//指定主键
protected $pk = 'id';
//指定数据表
protected $table = 'tp_user' //此次需要写完整表名

//实例化model的两种方式
//例如实例化student.php模块,假设此模块存在于common文件夹
use app\common\model\student;
$model = new student();
或
$model = model('student'); 

2、添加数据

假设存在一个student.php的model,以下操作均基于该model

//添加一条数据
//假设接受到一个$data的数据
$data = array(
	'id' => 1,
	'name' => '小明',
	'age' => 22,
);
//方法1:
$model = new student();
$model -> save($data);
//使用allowField函数可以控制存入的字段
$mode -> allowField(['id','name']) -> save($data); //只存入id和name

//方法2:
student::creat($data);

//添加多条数据
$data = [
	['id' => 1,'name' => 'xioaming','age' => 18];
	['id' => 2,'name' => 'xioawang','age' => 19];
	['id' => 3,'name' => 'xioagang','age' => 20];
]
$model -> saveAll($data);

3、修改数据

使用格式为student::where('条件') -> updata(‘数据’)
例如:

$data = ['id' => 1,'name' => 'xiaoming','age' => 18]
student::where('id','=','1') -> updata($data);

4、删除数据

//方法1
$man = student::find(1);
$man -> destory();
//方法2
student::destory([1,2,3]);

5、软删除

概念见上篇文章

class Student extend Model{
	use SoftDelete;
	//指定软删除标记字段
	protected $deleteTime = 'delete_time';
}

//软删除
Student::destory(1);
//真删除
Student::destory(1,true);

//查询时包含被软删除的数据
Student::withTrashed() -> find();
Student::withTrashed() -> select();

//查询只有被软删除的数据
Student::onlyTrashed() -> find();
Student::onlyTrashed() -> select();

//恢复软删除的数据
$man = Student::onlyTrashed -> find(2333);
$man -> restore();

6、查询数据

//查询单条记录
Student::where('name','xiaoming') -> find();
//查询多条记录
Student::where('id','>',3) -> limit(3) -> order('id','desc') -> select();
//获取某个字段的值
Student::where('id',1) -> value('name');
//获取某个列的值
Student::where('id','>',1) -> column('name');

//条件分组
$result = Student::where(function(Query $query){
	$query -> where('id','>',100);
}) -> whereOr(function(Query $query){
	$query -> where('age','>',18);
}) -> select();

//动态查询
//也就是把字段写在方法之中
$result = Student::getById(1);

//获取器(对数据进行自动处理)写在model类中
//例如将student表中的name转为大写
public function getNameAttr($value){
	return strtoupper($value);
}
thinkphp5 model模型操作数据库 model的使用 1.定义 <?php namespace app\index\model; use think\Model; /** * 一般数据模型都是和表名一致 */ class User extends Model{ } 2.一般model的名字和表名是对应的,例如 表名 pre_user -> 模型名 User.php 表名 pre_user_info -&gt... 阅读详情

相关推荐

手把手教你用IN-Sight智能相机实现双向TCP/IP通讯(附网络调试助手推荐)

本文详细解析了IN-Sight智能相机实现双向TCP/IP通讯的完整流程。通过将相机同时配置为TCP服务器和客户端,构建了与上位机(如PLC、MES)稳定可靠的数据交换通道。文章深入剖析了发送(TCPDevice)与接收(ReadDevice)通道的独立配置、关键参数设置(如结束符CR+LF)、高效调试工具选择以及实战避坑指南,帮助工程师快速掌握这一构建柔性产线数据节点的核心技术。

qsc9012345的博客 671

php (thinkphp(二) 模型)

1. 模型操作 php think make:model 模块名/模型名(首字母大写) # 非必须 protected $pk = 'id'; # 设置主键名称 protected $table = 'think_user'; #设置当前模型对应的完整数据表名称 ...

yanglangdan的博客 686

Origin 2025b中文版安装全指南:避开乱码、水印与崩溃陷阱

Origin作为科研绘图领域的事实标准,其2025b版本首次官方支持简体中文UI,但安装远非‘下一步’即可完成。核心在于理解软件本体、语言包、许可证服务与系统区域设置四者间的耦合关系——尤其Windows非Unicode程序语言必须设为‘中文(简体,中国)’,否则必然触发坐标轴乱码、PDF文字方块等典型故障;而AI辅助拟合、内置Python 3.11等新特性,又依赖正确的字体链(如SimSun)与注册表强制加载(UILanguage=zh-CN)才能稳定启用。该版本广泛应用于材料科学、电化学、XRD/SEM

weixin_42548874的博客 1399

【Thinkphp 6】框架基础知识

【Thinkphp 6】框架基础知识

记录学习,一起进步 2565

emwin与Modbus通信结合:项目实例

通过实际项目讲解emwin界面设计与Modbus通信协议的融合应用,深入剖析数据交互流程。掌握emwin在工业控制场景中的实用技巧,提升系统人机交互与稳定通信能力。

weixin_34618526的博客 482

uniapp(全端兼容)-最新详细实现接入腾讯云IM即时通讯教程,uniapp在安卓苹果app端/小程序/h5移动端等集成使用腾讯云im插件,提供消息列表与聊天对话示例,支持发图片/私聊/实时监听消息

uni-app,腾讯云IM,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,im即时通讯,腾讯云IM详细教程,如何接入腾讯IM即时通讯,使用腾讯im有没有插件,怎么使用腾讯云IM插件,tim-wx-sdk,聊天sdk,即时通讯im uniapp私聊/群聊/聊天室,实现IM即时通讯仿微信聊天功能,对接腾讯云IM+音视频,调用腾讯即时通信IM的示例,卡顿很卡不流畅,音视频,全局监听,仿微信IM,uni-huanxin-im,sdk,实现多端实时通

✅ 精选推荐文章 1万+

thinkphp5.1 模型model命令行创建

该命令将在 common模块目录的model 目录下新建user模型。该命令将在 index模块目录的model 目录下新建user模型。该命令将在 index模块目录的model 目录下新建user模型。

ljh574649119的专栏 428

无人驾驶Autoware导读

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!本文先对无人驾驶Autoware介绍做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容。

qq_35635374的博客 2397

一文带你掌握ThinkPHP6中的数据验证技巧,提升开发效率!

在上面的例子中,我们首先定义了一个验证器对象$validate,并设置了email和password两个字段的验证规则。有时候我们在不同的场景下需要对同一个字段使用不同的验证规则,例如,我们在用户注册和用户修改资料两个场景下需要对email字段进行不同的验证规则。ThinkPHP6的数据验证基于验证器的概念,即我们需要创建一个验证器对象来对数据进行验证。以上就是ThinkPHP6中数据验证的基本用法,包括:验证规则、自定义验证规则、场景验证和多语言支持。下面我们将介绍一些常用的验证规则以及它们的用法。

分享likeshop开发知识 1326

RK3568平台YOLOv11模型部署全流程实战:环境搭建、模型转换与性能优化解析

在AI边缘计算领域,瑞芯微RK3568芯片凭借其强大的NPU算力和丰富的接口资源,成为了众多开发者的首选平台。然而,瑞芯微官方文档虽然提供了YOLO11预训练模型的部署方案,但对于需要自定义数据集训练的开发者来说,从模型训练到板端部署的完整流程却缺乏详细指导。本文将带你走完从环境搭建、数据准备、模型训练到最终板端部署的完整技术路线,并分享实际开发中遇到的各种坑点和解决方案。让我们一起探索如何在RK3568平台上实现30FPS稳定推理的YOLO11目标检测应用!

LXY_LOVE36的博客 120

NX二次开发新建组件

NXOpen新建组件

qq_39541524的博客 329

Thinkphp6知识点六——模型

模型 (Model类名对应数据表名,不然就定义model的数据表name属性,主键设置$pk) 区别:模型数据的新增和数据库的新增数据有所区别,数据库的新增只是单纯的写入给定的数据,而模型的数据写入会包含修改器、自动完成以及模型事件等环节。 单条数据增加save() $user = new User; $user->name = 'thinkphp'; $user->email = 'thinkphp@qq.com'; $user->save();

程序世界 1906

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

ThinkPHP模型操作下

ThinkPHP模型操作下

天天学安全专属博客 1236

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

关于ThinkPHP中模型的创建和实例化操作

一、什么是模型?模型是MVC三大组成部分的M(Model),作用是操纵数据,负责与数据表的数据交互(CURD)。配置数据库连接:在系统的主要配置文件中找到数据库的连接配置项:将以上配置项复制粘贴到应用级别的配置文件当中,例如Admin/conf/config.php。配置完成后创建数据库及数据表:mysql&gt; create database db_oa; Query OK, 1 row af...

亭有枇杷树 3874

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ThinkPHP模型操作上

ThinkPHP模型操作1

天天学安全专属博客 656

thinkphp5 模型操作

模型学习 在MVC里面,M是负责对数据的处理,其实在TP5里面模型封装的已经很好了,基本上我们不用做过多的操作,使用系统自带的基类即可完成大部分的curd操作。 模型定义 需要写在模块的model目录下,我们可以使用TP5自带的命令行工具进行生成。 注意1:在TP5里面模型也不在使用类后缀,直接就是使用去除表前缀后的名称作为模型的名称。(模型名称使用大驼峰的方式) 例如:表的...

weixin_30318645的博客 189

thinkphp6模型

一:定义 二:模型字段 三:新增 四:更新 五:删除 六:查询 七:查询范围 八:JSON字段 九:获取器 十:修改器 十一:搜索器 十二:数据集 十三:自动时间戳 十四:只读字段 十五:软删除 十六:类型转换 十七:模型输出 十八:模型事件 十九:模型关联 二十:虚拟模型 ...

eyes++的博客 1577

Thinkphp模型操作(一)

十、ThinkPHP框架中的模型 模型的作用:处理业务数据,与数据库进行交互。 1、导入数据表 新建tpshop数据库(create database tpshop character set utf8 collate utf8_general_ci) 导入数据表(source sql路径) 刷新之后,数据表如下: 说明:如果导入sql文件时,有报错,提示类似“不能使用innodb” 解决办法: 打开mysql配置文件,修改如下 重启mysql即可。 如果重启失败,找到m

SunNang的博客 1052

ThinkPHP 之 ORM操作和关联模型

ActiveRecord是Rails进行数据库操作的核心组件。它采用标准的ORM模型,将表映射到类,将行记录映射到实例对象,将字段映射到对象的属性。 对象关系映射 M方法快捷实例化模型后 对象直接调用字段并赋值,可直接调用add方法进行新增,直接调用find方法参数为主键值即可获得当条数据,直接调用select方法参数为众多主键值即可获取每条符合主键值的条目数据,直接调用fin

lifushan123的专栏 4968

thinkphp 模型

模型定义 模型类通常需要继承系统的\Think\Model类或其子类,下面是一个Home\Model\UserModel类的定义: namespace Home\Model; use Think\Model; class UserModel extends Model { } 模型类的作用大多数情况是操作数据表的,如果按照系统的规范来命名模型类的话,大多数情况下是可以自动对应数据表。 ...

张默的博客 3637

Thinkphp5使用model模型操作数据库

thinkphp标准数据表设计: 创建时间字段:create_time更新时间字段:update_time删除时间字段:delete_time类型选int,如下图: 一、创建model的文件夹 在application文件夹下的二级对象目录中新建名为model的文件夹,该文件夹与对应的controller和view目录同级,如下图: 如果有多个模块(比如前台index,后台admin),操作的数据库都差不多,那么可以把model模型放到common公共模块里,如下: 二、创建model模型类 1、在mode

优秀技术文章收录 3126

ThinkPHP模型

l      1,模型的种类 l      2,模型的字段操作 l      3,数据主键 l      4,模型的连贯操作 l      5,查询语言 一、模型的种类 1、基础模型 (1)通过M()函数获得,还可以通过实例化Model()的形式获得基础模型,同样构造函数的参数为某个表名 $baseModel=M('Xiao');或$model=new Model('Xiao');

whjwhja6的专栏 844

ThinkPHP5模型关联

创建thinkPHP模型 用cmd指令在文件根目录下创建模型 php think make:model 模块/模型名称 模型会创建在application目录下的 “模块\模型[模型名称]” 中。 模型命名 模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母大写,比如表的表前缀是 db_ 在模型名称里就需要省略掉。所以 db_admin 表的模型类名就是 Admin , db_admin_message 的模型类名就是AdminMessage 一对一关联 hasOne (‘关联模型

FirMoveBrick的博客 9189

php getbyname,thinkphp中的模型操作

新建模型有两个方法:一个是手动创建1、新建model文件夹2、新建文件user.php。最好名字和表名对应3、写代码

weixin_39690625的博客 373

thinkphp 中模型究竟是什么用?

thinkphp 中模型究竟是什么用? 问题 似乎所有的操作都能在控制器中就能完成,模型除了几种验证之外,究竟是干什么用的,这个问题一直没理解透   解答 解答一 要明白这个问题,必须了解 MVC 历史。早在 MVC 出现以前,程序员是将 html、css、js、php、SQL 写在一个 .php 文件内的,那时的网页非常简单。后来复杂了,需要多个人协同开发,一个开发后台,专写 php...

weixin_33736649的博客 1341
上一篇: 五、ThinkPHP数据库操作
下一篇: ThinkPHP番外篇:导出数据到excel文件中
10086love10010
博客等级 码龄10年 0粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值