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 ...
随机推荐
- LayoutInflater学习总结
----参考,转载,借用来源:http://blog.csdn.net/guolin_blog/article/details/12921889 Activity类中onCreate方法中,setCo ...
- Golang/Go语言/Go IDE/Go windows环境搭建/Go自动提示编译器/GoSublime
Go是Google开发的一种编译型,并发型,并具有垃圾回收功能的编程语言. 罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go ...
- UCRT: VC 2015 Universal CRT, by Microsoft
https://blogs.msdn.microsoft.com/vcblog/2015/03/03/introducing-the-universal-crt/ App local UCRT DLL ...
- 终于遇到了传说的ie 6 img 3px的bug
最近在做一个网站,基本上已经算完成,就开始完善细节部分了. IE6可能是微软最为YD 的一款浏览器了吧,至今还没有退出历史的舞台,尽管google都宣布不在支持它了. 因为该死的ie6,虽死但是牢牢地 ...
- ZOJ3874 Permutation Graph(NTT&&cdq分治)
最近在看几道整体二分还有cdq分治的东西,突然间想起前几个礼拜的ZOJ题,然后看了一下代码,经过了一些深思熟虑之后,发现自己终于看懂了,下面就用别人的代码来剖析一下整个解题的思路吧,具体的内容我再看看 ...
- Informix 启动 Fatal error in shared memory initialization解决方法
https://blog.csdn.net/cy309173854/article/details/54929735
- Mac下安装node.js , Ionic
访问node.js官网(https://nodejs.org/en/download/),下载相应的版本. 下载完,点击安装 [默认目录] Node.js v8.9.3 to /usr/local/ ...
- 微信小程序 使用swiper制作一个滑动导航
最近在做一个导航的时候,发现使用overflow-x: auto来做多内容滑动导航效果很不好,思索是不是可以使用swiper来做一个,研究了下其实发现原理基本相同 这里说下,要用swiper做导航菜单 ...
- HDU 6299.Balanced Sequence-贪心、前缀和排序 (2018 Multi-University Training Contest 1 1002)
HDU6299.Balanced Sequence 这个题就是将括号处理一下,先把串里能匹配上的先计数去掉,然后统计左半边括号的前缀和以及右半边括号的前缀和,然后结构体排序,然后遍历一遍,贪心策略走一 ...
- json model 互转
1.json转model TestModel tm = new TestModel();JavaScriptSerializer js = new JavaScriptSerializer();tm ...