Laravel框架查询构造器 CURD操作示例

本文实例讲述了Laravel框架查询构造器 CURD操作。分享给大家供大家参考,具体如下:

新增

//插入一条数据
public function insert(){
  $rs = DB::table('student')->insert([
    'name' => 'Kit',
    'age' => 12
  ]);
  dd($rs);  //true
}
//插入一条数据并返回自增ID
public function insert(){
  $id = DB::table('student')->insertGetId([
    'name'=>'Tom',
    'age'=>11
  ]);
  dd($id);  //1004
}
//插入多条数据
public function insert(){
  $rs = DB::table('student')->insert([
    ['name'=>'Ben','age'=>22],
    ['name'=>'Jean','age'=>23]
  ]);
  dd($rs);//true
}

更新

//更新一条数据
public function update(){
  $rs = DB::table('student')
    ->where('id',1003)
    ->update(['age'=>10]);
  dd($rs);//1,返回受影响的行数
}
//自增更新
public function update(){
  //所有年龄加1
  $rs = DB::table('student')->increment('age');
  dd($rs);//5,返回受影响的行数
  //ID为1001的年龄加3
  $rs = DB::table('student')
    ->where('id',1001)
    ->increment('age',3);
  dd($rs);//1,返回受影响的行数
}
//自减更新
public function update(){
  //所有年龄加1
  $rs = DB::table('student')->decrement('age');
  dd($rs);//5,返回受影响的行数
  //ID为1001的年龄加3
  $rs = DB::table('student')
    ->where('id',1001)
    ->decrement('age',3);
  dd($rs);//1,返回受影响的行数
}
//1001年龄加3并且性别改为11
public function update(){
  $rs = DB::table('student')
    ->where('id',1001)
    ->increment('age',3,['sex'=>11]);
  dd($rs);//1,返回受影响的行数
}

删除

//删除ID为1006的数据
public function delete(){
  $rs = DB::table('student')
    ->where('id',1006)
    ->delete();
  dd($rs);//1,返回受影响的行数
}
//删除ID大于1003的数据
public function delete(){
  $rs = DB::table('student')
    ->where('id','>',1003)
    ->delete();
  dd($rs);//2,返回受影响的行数
}
//清空数据表,不返回任何东西
DB::table('student')->truncate();

查询

  • get
  • first
  • pluck
  • select
//查询所有数据
$rs = DB::table('student')->get();
//查询第一条数据
$rs = DB::table('student')->orderBy('id','desc')->first();
//查询一个name字段
$rs = DB::table('student')->pluck('name');
//查询name字段并以ID为键名
$rs = DB::table('student')->pluck('name','id');
//查询name,age,sex字段
$rs = DB::table('student')->select('name','age','sex')->get();

聚合函数

$rs = DB::table('student')->count();
$rs = DB::table('student')->max('age');
$rs = DB::table('student')->min('age');
$rs = DB::table('student')->avg('age');
$rs = DB::table('student')->sum('age');

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

(0)

相关推荐

  • Laravel框架数据库CURD操作、连贯操作总结

    一.Selects 检索表中的所有行 复制代码 代码如下: $users = DB::table('users')->get(); foreach ($users as $user) { var_dump($user->name); } 从表检索单个行 复制代码 代码如下: $user = DB::table('users')->where('name', 'John')->first(); var_dump($user->name); 检索单个列的行 复制代码 代码如下:

  • Laravel框架实现model层的增删改查(CURD)操作示例

    本文实例讲述了Laravel框架实现model层的增删改查(CURD)操作.分享给大家供大家参考,具体如下: protected $table = 'user_city'; public $timestamps = false; //添加 返回id public function cityadd($data) { return $this->insertGetId($data); } //单条查找 public function getfind($id) { if($this->where('

  • Laravel框架查询构造器简单示例

    本文实例讲述了Laravel框架查询构造器.分享给大家供大家参考,具体如下: public function query(){ //新增数据 //$bool = DB::table('wd_user')->insert(['username'=>'jack']); //dd($bool); //新增数据并且获取到自增id //$id = DB::table('wd_user')->insertGetid(['username'=>'Tom']); //dd($id); //新增多条

  • Laravel5中实现模糊匹配加多条件查询功能的方法

    本文实例讲述了Laravel5中实现模糊匹配加多条件查询功能的方法.分享给大家供大家参考,具体如下: 方法1. ORM模式 public function ReportAccurate($data) { if(is_array($data)) { $where = $this->whereAll($data); return $where; } else { return false; } } /*多条件模糊*/ public function whereAll($data) { $query

  • laravel技巧之查询构造器Query Builder叠加链式调用的方法

    查询构造器简介 Laravel查询构造器(query builder)提供方便.流畅的接口,用来建立及执行数据库查找语法 使用PDO参数绑定,以保护应用程序免于SQL注入.因此传入的参数不需额外转义特殊字符 基本可以满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行 引言 今天给大家介绍一下laravel查询构造器的一个小技巧,在官方文档示例中没有详细提到,也不是啥高端技巧,可能很多人在用了,不知道的同学可以看看. 在业务代码中经常会根据不同条件来查询,举个简单例子,我们现在要查询用户

  • Laravel使用Caching缓存数据减轻数据库查询压力的方法

    本文实例讲述了Laravel使用Caching缓存数据减轻数据库查询压力的方法.分享给大家供大家参考,具体如下: 昨天想把自己博客的首页做一下缓存,达到类似于生成静态页缓存的效果,在群里问了大家怎么做缓存,都挺忙的没多少回复,我就自己去看了看文档,发现了Caching这个部分,其实之前也有印象,但是没具体接触过,顾名思义,就是缓存了,那肯定和我的需求有点联系,我就认真看了看,发现的确是太强大了,经过很简单的几个步骤,我就改装好了首页,用firebug测试了一下,提高了几十毫秒解析时间,当然了有人

  • 使用Laravel中的查询构造器实现增删改查功能

    引言 上一篇介绍了如何在windows环境下跑一个 laravel 项目,这一篇写如何使用 laravel 中的 查询构造器 实现增删改查. 读这篇文章时我默认你已拥有如下知识: 了解php的基础语法 了解数据库设计 了解常用的sql查询 正文 实现增删改查前, 我们先准备一些步骤: php, nginx, mysql 服务正确启用 新建一个数据库及其数据表 开启服务我们打开上篇文章介绍的 Wnmp.exe -> Start all 然后cmd上键入命令: D:/wnmp/Wnmp/php/ph

  • 如何利用预加载优化Laravel Model查询详解

    前言 本文主要给大家介绍了关于利用预加载优化Laravel Model查询的相关内容,分享出来供大家参考学习,话不多说了,来一起看看详细的介绍: 介绍 对象关系映射(ORM)使数据库的工作变得非常简单. 在以面向对象的方式定义数据库关系时,可以轻松查询相关的模型数据,开发人员可能不会注意底层数据库调用. 下面将通过一些例子,进一步帮助您了解如何优化查询. 假设您从数据库收到了100个对象,并且每个记录都有1个关联模型(即belongsTo). 默认使用ORM将产生101个查询; 如下所示: //

  • PHP中Laravel 关联查询返回错误id的解决方法

    在 Laravel Eloquent 中使用 join 关联查询,如果两张表有名称相同的字段,如 id,那么它的值会默认被后来的同名字段重写,返回不是期望的结果.例如以下关联查询: PHP $priority = Priority::rightJoin('touch', 'priorities.touch_id', '=', 'touch.id') ->where('priorities.type', 1) ->orderBy('priorities.total_score', 'desc')

  • 在Laravel5.6中使用Swoole的协程数据库查询

    什么是Swoole 直接套用Swoole官网的介绍:PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询. Swoole内置了Http/WebSocket服务器端/客户端.Http2.0服务器端. Swoole官网的文档不够丰富啊,这比较头疼,但大部分的问题都解释了.如果你对Swoole很感兴趣,那么看看这个S

随机推荐