一.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的更多相关文章

  1. Laravel 数据库实例教程 —— 使用查询构建器对数据库进行增删改查

    原文地址:https://blog.csdn.net/lmy_love_/article/details/72832259 获取查询构建器很简单,还是要依赖DB门面,我们使用DB门面的table方法, ...

  2. laravel5.6操作数据curd写法(查询构建器)

    laravel5.6 数据库操作-查询构建器 <?php //laravel5.6 语法 demo示例 namespace App\Http\Controllers;//命名该控制App空间下名 ...

  3. [转]Laravel 数据库实例教程 —— 使用查询构建器实现对数据库的高级查询

    本文转自:https://laravelacademy.org/post/920.html 上一节我们简单介绍了如何使用查询构建器对数据库进行基本的增删改查操作,这一节我们来探讨如何使用查询构建器实现 ...

  4. Yii2 查询构建器 QueryBuilder

    查询构造器 QueryBuilder 1.什么是查询构建器 查询构建器也是建立在 DAO 基础之上,可让你创建程序化的.DBMS 无关的 sql 语句,并且这样创建的 sql 语句比原生的 sql 语 ...

  5. Laravel5.1 数据库-查询构建器

    今儿个咱说说查询构建器.它比运行原生SQL要简单些,它的操作面儿也是比较广泛的. 1 查询结果 先来看看它的语法: public function getSelect() { $result = DB ...

  6. laravel 查询构建器(连贯操作)

    注:laravel 查询返回行的都是 php 的 stdClass 对象实例,不是数组!!!! 1)查询多行(get) DB::table('table_name')->get(); 带偏移和限 ...

  7. yii2 查询构建器

    Query Builder $rows = (new \yii\db\Query()) ->select(['dyn_id', 'dyn_name']) ->from('zs_dynast ...

  8. laravel增删改查(查询构建器)

    1.增 $data = [ 'username' => 'xiaohong', 'nickname' => '小红红', 'email' => '12356788@qq.com', ...

  9. 定义查询构建器IFeatureLayerDefinition

    在宗地出图,需要实现,只显示某一户人的地块.在ArcMap里,有个定义查询,可只显示过滤后的要素. 在代码中,也比较好实现,使用IFeatureLayerDefinition接口即可. IFeatur ...

随机推荐

  1. C语言浮点数存储方式

    对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用 32bit,double数据占用 64bit.其实不论是float类型还是double类型,在计算 ...

  2. symfony3常用记忆

    1.控制器里获取当前用户信息 $user = $this->getUser(); 2.判断当前用户是否登录 // yay! Use this to see if the user is logg ...

  3. UVA 10912 Simple Minded Hashing

    题意就略了.刚一看被数据吓住了.看到字符要求严格递增.那么如果字串长大于26那必然方案数目为0:同时1+2+3....+24+25+26=351如果大于这个数也是不可能的 令dp[i][j][k]表示 ...

  4. 1.使用python连接odps并获取项目

    from odps import ODPS # 直接从odps模块导入ODPS这个类 # 然后传入相应的参数进行初始化即可 ''' ODPS函数接收的参数如下: access_id: 你的access ...

  5. 武汉天喻的NFS 磁盘问题

    public void AsyncPaper() { while (true) { try { var jsonText = RedisHelper.BlockPopItemFromList(&quo ...

  6. Visual Studio跨平台开发(5):Xamarin Android多页面应用开发

    前言 大部份的Android 都具有实体或虚拟的Back键. 因此在处理多页面应用程序时, 与先前所介绍的iOS Navigation controller 比较起来会简单许多. 1. 开启Visua ...

  7. UVALive(LA) 4487 Exclusive-OR(带权并查集)

    题意:对于n个数X[0]~X[n-1],但你不知道它们的值,通过逐步提供给你的信息,你的任务是根据这些信息回答问题,有三种信息如下: I p  v : Xp = v;    Xp 的值为v I p q ...

  8. 洛谷——P1866 编号

    P1866 编号 题目描述 太郎有N只兔子,现在为了方便识别它们,太郎要给他们编号.兔子们向太郎表达了它们对号码的喜好,每个兔子i想要一个整数,介于1和Maxnumber[i]之间(包括1和Maxnu ...

  9. [CTF]Capture The Flag -- 夺旗赛

    CTF(Capture The Flag) 简单介绍 CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式. `In co ...

  10. windows如何安装python zmq

    百度windows python zmq 安装,真的是佩服百度还能活到今天,搜到的结果是各种yum 安装,各种jmq怎么安装,更有甚者直接整源代码编译,忍无可忍,所以自己写下这一篇自己探索出来的安装方 ...