thinkphp5对数据库操作做了很多细致的封装,跟thinkphp3对比的话,在查询数据方面保留的最好,还支持where,order,find,select等基本的操作,但是getField等却不支持了。下面从数据增改删查方面进行总结:
1、增加数据:
去掉了add方法,用insertGetId代替了,即插入成功返回自增id(string类型),否则返回false。
Db::name('user')->insertGetId(['username' => 'admin']);
还可以使用insert,但成功返回1,失败返回false。此时要取得自增id,需要用getLastInsID()来获取,但注意获取到的是string类型。比如:
Db::name('user')->insert($data); $userId = Db::name('user')->getLastInsID();
2、修改数据,使用update代替了之前的save,用法是一样的,比如:
$lines = Db::name('test')->where(['id' => ['gt', 0]])->update($data);
返回的也是影响的行数。
如果在继承模型类Model,那么在模型类中,还可以像如下方式更新数据:
save方法,用法如下:
$user = new User;
// save方法第二个参数为更新条件
$user->save([
'name' => 'thinkphp',
'email' => 'thinkphp@qq.com'
],['id' => 1]);
3、删除数据
跟之前一样的:
Db::table('think_user')->where('id',1)->delete();
可以使用助手函数:
// 根据主键删除
db('user')->delete(1);
// 条件删除
db('user')->where('id',1)->delete();
如果在模型层,则有更多方式进行删除:
User::destroy(1);
// 支持批量删除多个数据
User::destroy('1,2,3');
// 或者
User::destroy([1,2,3]);
// 删除状态为0的数据
User::destroy(['status' => 0]);
User::destroy(function($query){
$query->where('id','>',10);
});
User::where('id','>',10)->delete();
4、查询数据:
查询数据更tp3是几乎一样的,只是field方法改成了column,getField改成了value,这一点要注意。
从这些情况来看,thinkphp5把茴香豆有4种写法发挥到了新的高度,你可以只用其中一种,但是看代码的时候,要能理解各种方式都是在增删查改数据哦。
文档地址参考:http://www.kancloud.cn/manual/thinkphp5/135190
5、大数据处理,json数据查询:
这个是一个不错的新特性,参考:http://www.kancloud.cn/manual/thinkphp5/135176,不过要注意,json数据查询必须是mysql5.7.9及其高版本。见:https://dev.mysql.com/doc/refman/5.7/en/json-search-functions.html#operator_json-column-path
6、 sql语句查询可以用bind:
Db::table('think_user')->where("id=:id and username=:name")->bind(['id'=>[1,\PDO::PARAM_INT],'name'=>'thinkphp'])->select();
另外注意一下助手函数并不是单例的:
注意:使用db助手函数默认每次都会重新连接数据库,而使用Db::name
或者Db::table
方法的话都是单例的。db函数如果需要采用相同的链接,可以传入第三个参数,例如:
db('user',[],false)->where('id',1)->find();
db('user',[],false)->where('status',1)->select();
上面的方式会使用同一个数据库连接,第二个参数为数据库的连接参数,留空表示采用数据库配置文件的配置。
相关推荐
一、ThinkPHP5.0数据库操作 1. 数据库配置:在`config/database.php`文件中,你可以设置数据库连接参数,包括类型、用户名、密码、主机、端口、数据库名、字符集等。 2. 数据库连接:ThinkPHP5.0支持多种数据库...
总结,本教程涵盖了ThinkPHP5.0的基础知识,包括控制器的使用、数据库操作、模型设计以及MVC模式的理解,对于想要提升PHP Web开发技能的开发者来说,是非常有价值的资源。通过学习和实践,开发者能够更高效地构建...
总结来说,通过ThinkPHP 5.1框架,开发者可以方便地连接并操作达梦数据库,实现数据的增删改查等操作。在实际项目中,还需要关注性能优化、事务处理、错误处理等方面,确保代码的健壮性和效率。对于`phpstudy_pro`...
除此之外,ThinkPHP5.0还提供了事务处理功能,这对于需要执行一系列数据库操作且要求原子性的场景非常有用。通过`Db::startTrans()`, `Db::commit()`, 和`Db::rollback()`方法,开发者可以确保一组数据库操作要么...
在ThinkPHP 3.2框架中,修改当前账号的密码涉及到多个...总结,ThinkPHP 3.2中修改密码涉及到了用户身份验证、密码加密、数据库操作以及中间控制器的使用。理解并熟练掌握这些知识点对于开发安全、高效的应用至关重要。
2. **实现关联查询**:接下来,我们需要利用thinkPHP5提供的Db类来进行跨服务器、跨数据库的关联查询操作。 #### 三、具体实现步骤 1. **增加数据库配置信息** 在thinkPHP5项目的公共配置文件(如`config.php`)...
在开发Web应用时,数据的...总结起来,ThinkPHP提供了强大而灵活的数据库操作功能,使得开发者能够轻松实现数据库的在线备份、下载和还原。理解并熟练掌握这些操作对于任何使用ThinkPHP开发的Web应用来说都至关重要。
《ThinkPHP数据库备份详解》 在Web开发过程中,数据库的安全备份是至关重要的,尤其是在使用诸如ThinkPHP这样的PHP框架时。数据库备份能够确保在系统出现问题、数据丢失或遭受攻击时,可以迅速恢复到先前的状态,...
总结一下,使用ThinkPHP实现数据库数据导出Excel表格,主要涉及以下步骤: 1. 引入并配置PhpSpreadsheet库。 2. 在控制器中创建一个方法,调用Model查询数据库数据。 3. 使用PhpSpreadsheet创建Excel工作表,并将...
数据库操作是Web开发中不可或缺的一部分,而ThinkPHP5提供了简单而强大的数据库操作接口,使数据库连接和操作变得非常便捷。 数据库配置 在ThinkPHP5中,数据库的配置文件通常位于application/database.php。这个...
在数据库管理方面,框架提供了一套完整的数据库操作API,使得数据库的备份和恢复变得简单易行。 备份数据库插件在ThinkPHP3.2.2中扮演着核心角色,它允许开发者通过编写少量的代码就能实现对数据库的完整备份。这个...
在ThinkPHP中,我们可以利用其内置的数据库操作类和模型来实现这一目标。 1. **数据库备份**: 在ThinkPHP中,通常会使用`Db`类或者`Model`类来与数据库交互。备份数据库涉及读取所有表的数据,并生成SQL脚本。你...
数据库操作是ThinkPHP5的重要组成部分。框架内置了ActiveRecord模式,通过ORM(对象关系映射)简化了SQL查询。在Model类中,可以方便地执行增删改查操作,并支持事务处理。此外,ThinkPHP5还提供了查询构造器,提供...
该方法的调用展示了tp5框架如何与MongoDB进行交互,执行数据库操作。 在实际的开发中,除了直接使用php-driver外,tp5还支持使用ODM(Object Document Mapping,对象文档映射)工具,如Laravel框架中的Eloquent ORM...
《使用ThinkPHP5+WebSocket+...这个过程中,关键在于理解WebSocket的原理,掌握ThinkPHP5框架的使用,以及数据库的设计和操作。实践中,还需要关注性能优化,如消息的批量处理、连接池的使用等,以应对高并发的场景。
ThinkPHP的数据操作方法具有高度的封装性和易用性,其提供的add()、save()、find()、select()和delete()等方法极大地简化了传统数据库操作的复杂度。同时,ThinkPHP支持数组和对象两种方式处理数据,让开发者可以...
掌握了这些知识,就能够应对在ThinkPHP框架中进行数据库操作时遇到的常见问题,从而高效地开发出稳定且性能优良的Web应用程序。 总结以上内容,ThinkPHP框架中的数据库连接和主从设置是一个系统化的过程,涉及了...
框架内建的自动路由、数据库操作、错误处理等功能,大大简化了开发流程。 模板引擎是ThinkPHP5中的重要组成部分,它允许开发者使用简单的语法编写视图层代码,将数据和HTML分离。这些130套模板源码涵盖了各种类型的...
首先,要进行ThinkPHP5中的数据库操作,必须确保数据库配置正确。配置文件通常位于`application/database.php`目录下。配置内容包括数据库类型(如`mysql`)、服务器地址(`hostname`)、数据库名(`database`)、...
除了本文所介绍的多数据库连接和跨数据库查询之外,ThinkPHP5还提供了其他许多数据库操作相关的技巧和方法,比如条件查询、聚合查询、原生SQL支持等等,这些都是值得开发者深入学习和掌握的。 除了ThinkPHP5的...