ThinkPHP CURD操作与高级查询技巧详解
74 浏览量
更新于2024-08-31
收藏 42KB PDF 举报
ThinkPHP是一个广泛使用的PHP开发框架,本文将详细介绍如何在该框架中进行CRUD(Create, Read, Update, Delete)操作以及几种查询方式。首先,我们从数据的读取开始:
1. **读取数据(Read)**
- 使用`M()`或`newModel()`初始化模型对象,然后通过`select()`方法获取所有数据,返回的是一个数组。
- `find()`方法用于获取单条数据,传入指定的ID作为参数。
- 如果需要获取单个字段的值,可以使用`getField()`方法,配合`where()`条件,如`$m->where('id=2')->getField('username')`。
**重点**:
- 数据创建(Create):
- 使用`M()`或`newModel()`实例化模型后,可以直接设置字段和值,然后调用`add()`方法,返回值为新插入数据的ID。
**删除数据(Delete)**:
- 直接调用`delete()`方法并传入要删除的记录ID,或者使用`where()`筛选后再删除。
- 返回值为受影响的行数。
**更新数据(Update)**:
- 同样通过`M()`或`newModel()`实例化模型,定义要更新的数据,存储在一个关联数组`$data`中,设置好要修改的字段和新值。
- 调用`save()`方法执行更新操作,返回值为受影响的行数。
接下来是ThinkPHP的几种查询方式:
**普通查询方式**:
- 使用`where()`方法结合字符串(如`$m->where("sex=0 and username='gege'")->find();"`)或关联数组(`$data['sex'] = 0; $data['username'] = 'gege'; $arr = $m->where($data)->find();`),默认逻辑为AND,若需OR逻辑,需设置`_logic`数组值为'or'。
**表达式查询方式**:
- 使用数组语法,如`$data['id'] = array('egt', 10)`来表达等大于(egt)关系,更灵活地构建复杂的查询条件。
**区间查询**:
- 通过数组传递起止范围,如`$m->where('id BETWEEN 1 AND 10')`,用于执行区间查询。
**统计查询**:
- 对数据库中的数据进行计数、求和、平均值等统计,可能涉及聚合函数如COUNT(), SUM(), AVG()等。
**SQL直接查询**:
- 在特定情况下,可以直接使用原生SQL语句,通过`$m->query()`方法执行,例如`$sql = 'SELECT * FROM user WHERE id = 1'; $result = $m->query($sql);`。
总结来说,ThinkPHP提供了简洁的接口封装了底层的数据库操作,使得开发者能够轻松地处理数据增删改查和高级查询,提升开发效率。了解这些基础操作和查询方式后,你可以根据项目需求进一步探索ThinkPHP的更多功能。
2015-08-27 上传
2015-09-30 上传
2020-12-18 上传
2020-12-19 上传
2020-12-19 上传
2020-12-18 上传
2020-12-19 上传
2020-12-19 上传
2021-01-20 上传
weixin_38704156
- 粉丝: 6
- 资源: 909
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜