Laravel框架查询构造器详解:增删改查实例
114 浏览量
更新于2024-08-31
收藏 84KB PDF 举报
"Laravel框架查询构造器常见用法总结"
在Laravel框架中,查询构造器是一个强大的工具,它提供了简洁、可读性高的API来处理数据库查询,支持多种数据库系统,包括MySQL、PostgreSQL、SQLite等。通过使用查询构造器,开发者可以避免直接编写SQL语句,减少SQL注入的风险,并保持代码的整洁和可维护性。
**查询构造器的基本使用**
1. **插入数据**
- **基础插入**:使用`DB::table()`方法指定表名,然后调用`insert()`方法传入一维数组,该数组的键对应列名,值对应列的值。如示例中的`['name'=>'Rarin','age'=>16]`。
- **获取插入ID**:如果需要获取新插入行的自增ID,可以使用`insertGetId()`方法,它会返回新生成的ID。例如,`DB::table('student')->insertGetId(['name'=>'Shen','age'=>'16'])`。
**查询数据**
2. **选择数据**:使用`select()`方法指定要选择的列,可以使用`*`代表所有列。例如,`DB::table('student')->select('name', 'age')`。
3. **条件查询**:可以使用`where()`方法添加条件,如`DB::table('student')->where('name', '=', 'Rarin')`。还有`orWhere()`、`whereIn()`、`whereNull()`等方法用于复杂条件。
4. **排序与分页**:使用`orderBy()`进行排序,如`DB::table('student')->orderBy('age', 'desc')`。`simplePaginate()`或`paginate()`用于分页。
5. **组合查询**:可以结合`where()`、`orWhere()`等方法,以及`join()`、`groupBy()`、`having()`等方法构建复杂的查询。
**更新数据**
6. **更新数据**:使用`update()`方法更新已有数据,如`DB::table('student')->where('id', 1)->update(['age' => 17])`。
7. **软删除**:Laravel支持软删除,通过`delete()`方法进行软删除,记录不会立即从数据库中移除,而是设置一个`deleted_at`字段。
**删除数据**
8. **物理删除**:`DB::table('student')->where('id', 1)->delete()`进行物理删除。
9. **软删除恢复**:对于已软删除的数据,可以使用`restore()`方法恢复。
**聚合函数**
10. **计数**:`count()`方法用于计算结果集的行数,如`DB::table('student')->count()`。
11. **最大值与最小值**:`max()`和`min()`分别用于获取某个列的最大值和最小值。
12. **平均值与总和**:`avg()`计算平均值,`sum()`计算总和。
**子查询**
13. **子查询**:可以嵌套查询构造器创建子查询,用于更复杂的查询逻辑。
Laravel查询构造器通过其丰富的API,使得数据库操作变得简单而直观,无论是在简单的数据操作还是在复杂的业务逻辑中,都能提供强大支持。通过熟练掌握这些用法,开发者可以高效地编写出安全、优雅的代码。
2020-10-16 上传
2020-10-17 上传
2020-10-16 上传
2023-05-22 上传
2024-07-01 上传
2023-02-06 上传
2023-06-09 上传
2024-09-15 上传
2023-09-20 上传
weixin_38715772
- 粉丝: 4
- 资源: 926
最新资源
- OptiX传输试题与SDH基础知识
- C++Builder函数详解与应用
- Linux shell (bash) 文件与字符串比较运算符详解
- Adam Gawne-Cain解读英文版WKT格式与常见投影标准
- dos命令详解:基础操作与网络测试必备
- Windows 蓝屏代码解析与处理指南
- PSoC CY8C24533在电动自行车控制器设计中的应用
- PHP整合FCKeditor网页编辑器教程
- Java Swing计算器源码示例:初学者入门教程
- Eclipse平台上的可视化开发:使用VEP与SWT
- 软件工程CASE工具实践指南
- AIX LVM详解:网络存储架构与管理
- 递归算法解析:文件系统、XML与树图
- 使用Struts2与MySQL构建Web登录验证教程
- PHP5 CLI模式:用PHP编写Shell脚本教程
- MyBatis与Spring完美整合:1.0.0-RC3详解