ThinkPHP中数据库CRUD操作方法盘点(field方法)

用雅特力AT32F403A的GPIO模拟XY2-100协议,实现500KHz振镜驱动(附完整代码) 本文详细介绍了如何利用雅特力AT32F403A的GPIO模拟XY2-100协议,实现500KHz高频振镜驱动。通过精确的时序控制和硬件优化,解决了振镜控制系统中的时序精度、信号同步和CPU负载等关键技术挑战,并提供了完整的代码实现和调试建议。 阅读详情

ThinkPHP中对于数据库的一系列操作方法使得其操作数据库变得非常的简单,现对其基本操作方法进行一个盘点。
field属于模型的连贯操作方法之一,主要目的是标识要返回或者操作的字段,可以用于查询和写入操作。
1、用于查询
在查询操作中field方法是使用最频繁的。

$Model->field('id,title,content')->select();

这里使用field方法指定了查询的结果集中包含id,title,content三个字段的值。执行的SQL相当于:

SELECT id,title,content FROM table

当然,除了select方法之外,所有的查询方法,包括find等都可以使用field方法,这里只是以select为例说明。
上面的例子也可以使用数组代替:

$Model->field(array('id','title','content'))->select();

最终执行的SQL和上面等效。
^_^似乎看起来数组的用法过于复杂,不过先别下这个结论,后面就会明白数组用法的好处了。
数组方式的定义可以为某些字段定义别名,例如:

$Model->field(array('id','title'=>'name','content'))->select();

执行的SQL相当于:

SELECT id,title as name,content FROM table

如果你希望直接使用:

$Model->field('id,title as name,content')->select();

可能会得到错误的结果。
对于一些更复杂的字段要求,数组的优势则更加明显,例如:

$Model->field(array('id','concat(name,'-',id)'=>'truename','LEFT(title,7)'=>'sub_title'))->select();

执行的SQL相当于:

SELECT id,concat(name,'-',id) as truename,LEFT(title,7) as sub_title FROM table

想必大家都明白了,对于需要在field中使用SQL函数的情况,数组方式可以很好的解决。
是不是field方法就这么点作用了呢?如果你这么认为,那就太低估ThinkPHP的field方法了,ThinkPHP考虑的细节远比你想象的要周到^_^。

先看下面的情况,如果有一个表有非常多的字段,而且有两个需求,首先要求需要获取所有的字段,这个也许很简单,因为不调用field方法或者直接使用空的field方法都能做到,事实上,的确如此:

$Model->select();
$Model->field()->select();
$Model->field('*')->select();

上面三个用法是等效的,都相当于执行SQL:

SELECT * FROM table

但是这并不是我说的获取所有字段,我希望显式的调用所有字段(对于对性能要求比较高的系统,这个要求并不过分,起码是一个比较好的习惯),那么OK,仍然很简单,下面的用法可以完成预期的作用:

$Model->field(true)->select();

fied(true)的用法会显式的获取数据表的所有字段列表,哪怕你的数据表有100个字段。
第二个需求是我希望获取排除content字段(文本字段的值非常耗内存)之外的所有字段值,我们就可以使用field方法的排除功能,例如下面的方式就可以实现所说的功能:

$Model->field('content',true)->select();

要排除更多的字段也可以:

$Model->field('user_id,content',true)->select();
 //或者用
$Model->field(array('user_id','content'),true)->select();

2、用于写入
除了查询操作之外,field方法还有一个非常重要的安全功能–字段合法性检测(注意:该功能3.1版本开始才能支持)。field方法结合create方法使用就可以完成表单提交的字段合法性检测,如果我们在表单提交的处理方法中使用了:

$Model->field('title,email,content')->create();

即表示表单中的合法字段只有title,email和content字段,无论用户通过什么手段更改或者添加了浏览器的提交字段,都会直接屏蔽。因为,其他是所有字段我们都不希望由用户提交来决定,你可以通过自动完成功能定义额外的字段写入。

本文转自:ThinkPHP官方文档

thinkPHP5如何连接Oracle数据库 thinkPHP5如何从MySQL迁移到Oracle 前言 php连接到oracle的配置,本文不进行过多阐述,如有不懂,请看文章:Oracle11g客户端安装教程。本文主要的工作是探讨在thinkPHP框架下MySQL迁移到Oracle后数据库操作方法的改写,不讨论迁移细节。 数据库迁移 本文使用Navicat快速将MySQL迁移到Oracle,具体操作本文不再细述,请自行搜索相... 阅读详情

相关推荐

thinkphp5 Db各种查询数据库方法整合

默认条件查询指定字段查询字段排除order排序查询版本开始,当你的order排序中使用了SQL函数的时候,请使用orderRaw方法替代order,例如imit方法限制结果数量指定条件多字段相同条件的AND查询可以简化为如下方式whereOr查询使用whereOr方法进行OR查询在多个字段之间用|分割表示OR查询,用&分割表示AND查询版本开始,like查询支持使用数组表达式查询字符串条件版本开始,还可以使用下面的方式进行时间查询查询两个小时内的博客。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 3801

ThinkPHP的连贯操作方法field方法有很多的使用技巧

ThinkPHP的连贯操作方法field方法有很多的使用技巧,field方法主要目的是标识要返回或者操作的字段,下面详细道来。 1、用于查询 在查询操作中field方法是使用最频繁的。 $Model->field('id,title,content')->select(); 这里使用field方法指定了查询的结果集中包含id,title,content三个字段的值。执行的SQL相当于

woshiliulei0的专栏 1050

Thinkphp 3.2.3 CRUD操作实战详解

htmltable {th, td {th {pre {简介:本文深入讲解了Thinkphp框架3.2.3版本中的增删改查(CRUD)核心功能,并通过实例详细解析了这一过程。介绍了如何搭建开发环境、创建与数据库连接的模型、实现数据的增删改查操作,并通过实际案例演示了控制器和视图在操作中的应用。ThinkphpCRUD功能是其高效能和简洁性的体现,通过熟练掌握这些操作,开发者可以大幅提升Web开发的效率和项目质量。

weixin_42348783的博客 1009

php中field函数,Thinkphp field() 数据库查询函数使用

TP 查询field小技巧1. field 过滤掉某些字段->where(['id'=>35])->field('delete_time',true)->find();复制代码2. field 写入字段合法性检测->field('title,email,content')->create();复制代码3. field 操作新增字段->field('id,n...

weixin_34188576的博客 2151

thinkphp连贯操作之FIELD

荆轲刺秦王本篇文章记录下,学习thinphp的时候遗漏的知识点——fieldfield字段,我们都知道用于查询出指定字段,比如:摘自 thinphp官方文档。上述的查询出指定字段都属于 field 的基本操作,基本操作,基本操作。然后往下看,发现,还支持 SQL函数 : 有点厉害哦,这就是说,不仅仅是 SUM 求和,像 MAX MIN AVG COUNT等等函数。继续让下看:还可以使用数组,在数组...

葬爱家族王富贵 1532

ThinkPHP数据库CRUD操作方法盘点(limit、page、table、order、data方法

limit方法 limit方法也是模型类的连贯操作方法之一,主要用于指定查询和操作的数量,特别在分页查询的时候使用较多。ThinkPHP的limit方法可以兼容所有的数据库驱动类的。 用法 限制结果数量 例如获取满足要求的10个用户,如下调用即可:$User = M('User'); $User->where('status=1')->field('id,name')->limit(10)-

helencoder的博客 3024

ThinkPHP8 使用Db类处理数据库CURD

ThinkPHP8持续更新.....

K28095的博客 2094

ThinkPHP数据库CRUD操作方法盘点(where方法

where方法从属于模型类的连贯操作方法之一,主要用于查询和操作条件的设置。 where方法的用法是ThinkPHP查询语言的精髓,也是ThinkPHP ORM的重要组成部分和亮点所在,可以完成包括普通查询、表达式查询、快捷查询、区间查询、组合查询在内的查询操作。where方法的参数支持字符串和数组,虽然也可以使用对象但并不建议。 字符串条件 使用字符串条件直接查询和操作,例如:$User =

helencoder的博客 677

ThinkPHP学习】数据库CRUD操作

RT. ThinkPHP常规的CRUD操作总结如下:

Love.Hope.Faith 1464

ThinkPHP6项目基操(6.数据库Db操作)

数据库Db操作一、数据库配置二、访问数据库1. 使用门面模式的Db类2. 使用容器方式三、数据库返回数据异常调试1. 打开APP_DEBUG2. 打印SQL语句四、增删查改CURD操作1. 新增2. 删除3. 更新 一、数据库配置 config目录下默认有个database.php文件,这里配置了默认的数据库信息: <?php return [ // 默认使用的数据库连接配置 'default' => env('database.driver', 'mysql'

张营的技术博客 1万+

Think PHP crud,ThinkPHP教程_PHP框架之ThinkPHP()CRUD與連貫操作】

一、CRUDThinkPHP提供了靈活和方便的數據庫操作方法,其中最基本的就是CRUD四個操作,只有掌握了最基本的CRUD操作,才能更好的運用更多實用的數據庫操作方法CRUD操作通常與連貫操作配合1、創建操作使用add()方法或addAll()方法·add()方法可以直接傳入要插入的數據,而且會在插入之前會過濾掉數據表中不存在的字段以及非法的數據類型(例如對象、數組等非標量數據)。若當前表有主鍵自...

weixin_39897449的博客 504

crud php mysql_thinkphp操作数据库CRUD

框架有时会用到数据库的内容,在"ThinkPhp框架知识"的那篇随笔中提到过,现在这篇随笔详细的描述下。数据库的操作,无疑就是连接数据库,然后对数据库中的表进行各种查询,然后就是对数据的增删改的操作,一步步的讲述一下框架对数据库的操作想要操作数据库,第一步必然是要:链接数据库一、链接数据库(1)找到模块文件夹中的Conf文件夹,然后进行编写config.php文件我这里是这样的文件路径(2)打开这...

weixin_42303112的博客 238

ThinkPHP数据库CRUD

首先,在被里面的一个__SELF__的一个全局变量搞不明白了,我知道,这个是接收表单值的,但是他的接收方法我还是有些不明白,根据我的理解应该是这样: 在我们的控制器里面定义了一个我们自己的公共方法,那么对应的我们就应该在VIEW当我视图中建立方法名的html文件,这样数据模型-----控制器-----还有视图 就建立起了MVC模式的分层关系。但是,在视图的表单值集合具体怎么传到控制器的对应方法

MyCodeDream的专栏 1348

Thinkphp环境搭建连接HGDB实现CRUD

PSR 规范是 PHP Standard Recommendations,是一种编写规范,而不是一种标准,通过规范的代码编写将会使代码清晰且简洁。

weixin_39676699的博客 1063

静态方法与非静态方法的区别_程序员必看之ThinkPHP5中model与Db的区别

ThinkPHP5的使用过程中,很多使用者刚接触到数据库操作时,不能很好调用相关的方法进行数据库的交互。下面就分享一下ThinkPHP5中Db与模型的区别关于db与model的选择使用DB方式是直接获取到的query类(ThinkPHP5/library/think/db/Query.php)的对象进行数据库的操作提供了基本的数据库curd操作功能。使用model的方式是通过获取到模型对象然后在...

weixin_39964528的博客 356

ThinkPHP入门案例实战详解:基于thinkphp.zip的CRUD应用开发

ThinkPHP 是一款流行的国产 PHP 框架,以简洁、实用的特性广受中小型项目青睐。它支持 Composer 安装,可通过命令快速创建项目:。框架内置了丰富的组件和自动加载机制,配合 Apache/Nginx + PHP + MySQL 环境即可运行。开发前需确保 PHP 版本 ≥7.2,并开启 PDO、OpenSSL 等扩展,推荐使用 PHPStudy 或 XAMPP 快速部署本地环境。在现代PHP开发中,数据持久层的设计直接决定了应用的可维护性、扩展性和性能表现。

weixin_35752122的博客 1149

【PHP】ThinkPHP5的Db类进行CURD操作

ThinkPHP 5 中,可以使用 Db 类进行数据库的 CURD(增删改查)

uuzeray的博客 890

ThinkPHP框架之数据库操作

一、前言 ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库驱动来处理。目前的数据库包括Mysql、SqlServer、PgSQL、Sqlite、Oracle、Ibase、Mongo,也包括对PDO的支持。 二、连接数据库 1.全局配置 常用的配置方式是在Applicat...

weixin_42146366的博客 507
上一篇: PHP中的cURL的简单应用
下一篇: ThinkPHP中数据库CRUD操作方法盘点(where方法)
helencoder
博客等级 码龄11年 43粉丝 59原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值