在模型中也可以调用数据库的聚合方法进行查询,例如: 方法 说明 count 统计数量,参数是要统计的字段名(可选) max 获取最大值,参数是要统计的字段名(必须) min 获取最小值,参
版本 更新功能 5.0.10 获取器方法增加第三个参数传入关联数据 获取器 获取器的作用是在获取数据的字段值后自动进行处理,例如,我们需要对状态值进行转换,可以使用: class User e
版本 调整功能 5.0.19 模型增加 readMaster 方法用于后续都从主库读取 获取单个数据 获取单个数据的方法包括: 取出主键为 1 的数据$user = User::get( 1 ); echo $user-name; // 使用数组查询 $user
版本 调整功能 5.0.13 saveAll 方法支持 isUpdate 方法强制更新 5.0.10 模型增加 setInc 和 setDec 方法 查找并更新 在取出数据后,更改字段内容后更新数据。 $user = User: :get ( 1 ); $user -name = think
版本 更新功能 5.0.9 destroy方法传入空数组和空字符串不会进行任何删除操作 删除当前模型 删除模型数据,可以在实例化后调用 delete 方法。 $user = User: :get ( 1 ); $user -delete(); 根据主键删
新增数据有多种方式。 添加一条数据 第一种是实例化模型对象后赋值并保存: $user = new User;$user-name = thinkphp ;$user-email = thinkphp@qq.com ;$user-save(); 也可以使用 data 方法批量赋值: $user =
版本 调整功能 5.0.5 model 或者 Loader::model 方法支持传入完整的模型类名 模型定义 定义一个User模型类: namespace app\index\model;use think\ Model ; class User extends Model {} 默认主键为自动识别,如果
模型初始化 模型同样支持初始化,与控制器的初始化不同的是,模型的初始化是重写 Model 的 initialize ,具体如下 namespace app \ index \ model ; use think \ Model ; class Index extends Model { //自定义初
版本 功能调整 5.0.5 原生查询不支持返回数据集对象 数据库的查询结果也就是数据集,默认的配置下,数据集的类型是一个二维数组,我们可以配置成数据集类,就可以支持对数据集更
ThinkPHP内置了分布式数据库的支持,包括主从式数据库的读写分离,但是分布式数据库必须是相同的数据库类型。 配置 database.deploy 为1 可以采用分布式数据库支持。如果采用分布式数据
5.0支持存储过程,如果我们定义了一个数据库存储过程 sp_query ,可以使用下面的方式调用: $result = Db: :query ( call sp_query(8) ); 返回的是一个二维数组,也可以使用参数绑定,例如: $r
查询事件(V5.0.4+) 从 5.0.4+ 版本开始,增加了数据库的CURD操作事件支持,包括: 事件 描述 before_select select 查询前回调 before_find find 查询前回调 after_insert insert 操作成功后回调 after_
使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。 使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如: 自
如果开启数据库的调试模式的话,你可以对数据库执行的任何SQL操作进行监听,使用如下方法: Db::listen( function ($sql, $time, $explain) { // 记录SQL echo $sql. [ .$time. s] ; // 查看性能分析结果
首先构造子查询SQL,可以使用下面三种的方式来构建子查询。 1、使用 select 方法 当select方法的参数为false的时候,表示不进行查询只是返回构建SQL,例如: $subQuery = Db::table ( think_user
Db 类支持原生 SQL 查询操作,主要包括下面两个方法: query 方法 query 方法用于执行 SQL 查询操作,如果数据非法或者查询错误则返回false,否则返回查询结果数据集(同 select 方法)。
快捷查询 快捷查询方式是 一种多字段相同查询条件 的简化写法,可以进一步简化查询条件的写法,在多个字段之间用 | 分割表示OR查询,用 分割表示AND查询,可以实现下面的查询,例
视图查询可以实现不依赖数据库视图的多表查询,并不需要数据库支持视图,例如: Db::view ( User , id,name ) - view ( Profile , truename,phone,email , Profile.user_id=User.id ) - view ( Score , score , Score.u
数据库提供的链式操作方法,可以有效的提高数据存取的代码清晰度和开发效率,并且支持所有的CURD操作。 使用也比较简单,假如我们现在要查询一个User表的满足状态为1的前10条记录
版本 功能调整 5.0.14 max和min方法增加第二个参数用于设置是否强制转换数字 在应用中我们经常会用到一些统计数据,例如当前所有(或者满足某些条件)的用户数、所有用户的最大积分
扫描二维码关注我们
在线时间09:00-24:00
8527114
yxgd678
账号密码登录
登录即视为同意《用户注册协议》
我已阅读并同意 《用户注册协议》