DB门面,查询构建器,Eloquent ORM三者的CURD
- 一.DB门面
- 1.insert
- DB::insert('insert into table(`name`) value(?)', ['test']);
- 2.update
- DB::update('update into table set name=? where id=?', ['test', 10]);
- 3.delete
- DB::delete('delete from tb where id=?', [1]);
- 4.select
- DB:select('select * from tb');
- 二.查询构建器(使用查询构建器不会触发模型事件)
- 1.insert
- DB::table('tb')->insert(['name' => 'test']);
- 2.update
- DB::table('tb')->where('id', 1)->update(['name' => 'test']);
- 3.delete
- DB::table('tb')->where('id', 1)->delete();
- 4.select
- # 多条
- DB::table('tb')->where('cat', 1)->orWhere(function($query){
- return $query->where('vote', '>', 1);
- })->orderBy('id', 'DESC')->select('name')->skip(5)->take(10)->get();
- #一条
- DB::table('tb')->where('cat', 1)->first();
- #一列
- DB::table('tb')->where('cat', 1)->value('col');
- DB::table('tb')->where('cat', 1)->pluck('col');
- 三.Eloquent ORM(本身就是查询构建器)
- 1.insert(也可以使用insert方法插入一个数组到数据库,但不会触发事件)
- $model = new TbModel;
- $model->name = 'test';
- $model->save();
- 使用create,但需要模型限定fillable或guarded
- TbModel::create(['name' => 'test']);
- create和save的区别是
- a.create的参数接受的一个字段数组,save也可以接受一个数组,但是只是用来指定timestamps的值
- b.create返回的是一个model,save只返回true或false
- 2.update
- $model = TbModel::first(1);
- $model->name = 'test';
- $model->save();
- 带where并且只更新指定字段,和查询构建器一样
- $model = TbModel::first(1);
- $model->where('time', today())->update(['delayed'=>1]);
- save无法和where共用,它是根据主键来保存的;保存受影响的字段;
- 3.delete
- TbModel::first(1)->delete();
- TbModel::destory(1);
- Flight::where('id', 1)->delete();
- 4.select
- #多条
- TbModel::all();//不能带where
- TbModel::where('cat', 1)->get(); //可以带where
- #单条
- TbModel::find(1); // 利用主键取回
- 如果查询条件带where,而且不是主键,则使用first
- TbModel::where('time', today())->first();
DB门面,查询构建器,Eloquent ORM三者的CURD的更多相关文章
- Laravel 数据库实例教程 —— 使用查询构建器对数据库进行增删改查
原文地址:https://blog.csdn.net/lmy_love_/article/details/72832259 获取查询构建器很简单,还是要依赖DB门面,我们使用DB门面的table方法, ...
- laravel5.6操作数据curd写法(查询构建器)
laravel5.6 数据库操作-查询构建器 <?php //laravel5.6 语法 demo示例 namespace App\Http\Controllers;//命名该控制App空间下名 ...
- [转]Laravel 数据库实例教程 —— 使用查询构建器实现对数据库的高级查询
本文转自:https://laravelacademy.org/post/920.html 上一节我们简单介绍了如何使用查询构建器对数据库进行基本的增删改查操作,这一节我们来探讨如何使用查询构建器实现 ...
- Yii2 查询构建器 QueryBuilder
查询构造器 QueryBuilder 1.什么是查询构建器 查询构建器也是建立在 DAO 基础之上,可让你创建程序化的.DBMS 无关的 sql 语句,并且这样创建的 sql 语句比原生的 sql 语 ...
- Laravel5.1 数据库-查询构建器
今儿个咱说说查询构建器.它比运行原生SQL要简单些,它的操作面儿也是比较广泛的. 1 查询结果 先来看看它的语法: public function getSelect() { $result = DB ...
- laravel 查询构建器(连贯操作)
注:laravel 查询返回行的都是 php 的 stdClass 对象实例,不是数组!!!! 1)查询多行(get) DB::table('table_name')->get(); 带偏移和限 ...
- yii2 查询构建器
Query Builder $rows = (new \yii\db\Query()) ->select(['dyn_id', 'dyn_name']) ->from('zs_dynast ...
- laravel增删改查(查询构建器)
1.增 $data = [ 'username' => 'xiaohong', 'nickname' => '小红红', 'email' => '12356788@qq.com', ...
- 定义查询构建器IFeatureLayerDefinition
在宗地出图,需要实现,只显示某一户人的地块.在ArcMap里,有个定义查询,可只显示过滤后的要素. 在代码中,也比较好实现,使用IFeatureLayerDefinition接口即可. IFeatur ...
随机推荐
- 行为型设计模式之命令模式(Command)
结构 意图 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化:对请求排队或记录请求日志,以及支持可撤消的操作. 适用性 抽象出待执行的动作以参数化某对象,你可用过程语言中的回调(c a ...
- [LeetCode] Sort List 排序 sort
Sort a linked list in O(n log n) time using constant space complexity. Hide Tags Linked List Sort ...
- IBM Security AppScan Standard WEB扫描工具
IBM Security AppScan Standard是一款著名的web漏洞扫描工具, 可以设定登录账户,录制登录 扫描完成后可以生成报告,生成的报告非常详细
- Centos 环境变量
1. 控制台中,不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦. 这个只针对特定的shell; $ PATH=" ...
- Spring与Struts2的整合
一.复制jar文件. 把struts2-spring-plugin-..*.jar和spring.jar复制到Web工程的WEB-INF/lib目录下,并且还需要复制commons-logging.j ...
- Jquery操作基本筛选过滤器
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 开发API完成,写个文档
Jira对接Prism开发API指南 部门 证系统运维团队 文档制作人 陈刚() 时间 2017-04-05 版本 第一版 目录 目的... 1 通例:... 1 认证... 2 新建版本单... 2 ...
- 洛谷——P2067 Cytus-Holyknight
P2067 Cytus-Holyknight 题目背景 本人最初作 以此纪念伟大的ios.安卓.PSV平台音乐游戏<cytus> 后续将不断更新. -------------Chapter ...
- Spring bean初始化以及管理
在完成bean实例化后,spring会根据配置文件的设定情况对bean 的属性进行初始化, 1.autowire方式 (可查找自动装配对象 但bean中要有相应属性的set方法)这是一个自动装配的机制 ...
- 【启动】Windows上启动图形化软件,报错: 无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-1-1-0.dll
今天在安装了jetbrains官网上的ToolBox软件后,没有办法启动起来,报错如下: 无法启动此程序,因为计算机中丢失api-ms-win-crt-runtime-1-1-0.dll 尝试重新安装 ...