Laravel5.1 框架数据库操作DB运行原生SQL的方法分析


Posted in PHP onJanuary 07, 2020

本文实例讲述了Laravel5.1 框架数据库操作DB运行原生SQL的方法。分享给大家供大家参考,具体如下:

Laravel操作数据库有三种:DB原生SQL、构建器、Model。这三种依情况而决定使用哪种更合适。

那么今儿咱就从DB原生SQL说起:

1 用DB门面原生SQL语句操作

用DB门面操作的话呢 无非就是:insert、select、update、delete 另外附加一个statement(通用语句 比如drop之类的)。

 1.1 insert

public function getInsert()
  {
    DB::insert('INSERT INTO articles (title, body)VALUE(?, ?)', ['learn laravel', 'balablalabalabla']);
  }

insert方法接受两个参数 第一个参数呢 就是原生的SQL语句,第二个参数是一个数组 对应的sql语句中的?

 1.2 select

public function getArticles(){
    $articles = DB::select('SELECT * FROM articles WHERE title=:title', ['title' => 'learn laravel']);
    foreach ($articles as $article){
      echo "<p>$article->id</p>";
      echo "<p>$article->title</p>";
      echo "<p>$article->body</p>";
    }
  }

我们的占位符不仅仅是? 也可以用":name" 来表示,对应的数组就是一对儿一对儿的键值。

1.3 update

public function getUpdate()
  {
    $affected = DB::update('UPDATE articles SET title=:title,body=:body WHERE id=:id',['title' => 'laravel database', 'body' => 'balabala', 'id' => 1]);
    echo $affected;
  }

update方法还返回了一个affected 这是受到影响的总行数。

1.4 delete

public function getDelete()
  {
    $affected = DB::delete('DELETE FROM articles WHERE id=:id', ['id' => 2]);
    echo $affected;
  }

1.5 statement

public function getDrop()
  {
    DB::statement('DROP TABLE articles');
  }

2 监听查询

我们可以用 listen方法 监听每一次操作数据库动作,这样我们就可以用于 记录日志啊 调试啊什么的:

class AppServiceProvider extends ServiceProvider
{
  /**
   * Bootstrap any application services.
   *
   * @return void
   */
  public function boot()
  {
    DB::listen(function($sql, $bindings, $time){
      // $sql   = 查询语句
      // $bindings = 绑定的键和值 数组类型
      // 所用的时间
    });
  }
  /**
   * Register any application services.
   *
   * @return void
   */
  public function register()
  {
    //
  }
}

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

PHP 相关文章推荐
社区(php&amp;&amp;mysql)一
Oct 09 PHP
关于Intype一些小问题的解决办法
Mar 28 PHP
PHP页面间传递参数实例代码
Jun 05 PHP
PHP 采集程序原理分析篇
Mar 05 PHP
php echo()和print()、require()和include()函数区别说明
Mar 27 PHP
微盾PHP脚本加密专家php解密算法
Sep 13 PHP
phpMyAdmin出现无法载入 mcrypt 扩展,请检查PHP配置的解决方法
Mar 26 PHP
PHP读取PDF内容配合Xpdf的使用
Nov 24 PHP
PHP中header和session_start前不能有输出原因分析
Jan 11 PHP
解析Win7 XAMPP apache无法启动的问题
Jun 26 PHP
php中error与exception的区别及应用
Jul 28 PHP
php 生成Tab键或逗号分隔的CSV
Sep 24 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 #PHP
PHP字符串与数组处理函数用法小结
Jan 07 #PHP
Laravel5.1 框架响应基本用法实例分析
Jan 04 #PHP
Laravel5.1 框架Request请求操作常见用法实例分析
Jan 04 #PHP
Laravel5.1 框架Middleware中间件基本用法实例分析
Jan 04 #PHP
Laravel 5.1 框架Blade模板引擎用法实例分析
Jan 04 #PHP
Laravel5.1 框架控制器基础用法实例分析
Jan 04 #PHP
You might like
php 面向对象的一个例子
2011/04/12 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
JavaScript高级程序设计 阅读笔记(十三) js定义类或对象
2012/08/14 Javascript
JavaScript中数组对象的那些自带方法介绍
2013/03/12 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
JQuery对ASP.NET MVC数据进行更新删除
2016/07/13 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
bootstrap 路径导航 分页 进度条的实例代码
2018/08/06 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
JS中创建自定义类型的常用模式总结【工厂模式,构造函数模式,原型模式,动态原型模式等】
2019/01/19 Javascript
详解auto-vue-file:一个自动创建vue组件的包
2019/04/26 Javascript
详细讲解如何创建, 发布自己的 Vue UI 组件库
2019/05/29 Javascript
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
vue从一个页面跳转到另一个页面并携带参数的解决方法
2019/08/12 Javascript
vue 项目打包时样式及背景图片路径找不到的解决方式
2019/11/12 Javascript
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
[02:12]探秘2016国际邀请赛中国区预选赛选手房间
2016/06/25 DOTA
python利用lxml读写xml格式的文件
2017/08/10 Python
Django框架自定义session处理操作示例
2019/05/27 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
Python基于requests库爬取网站信息
2020/03/02 Python
python的pip有什么用
2020/06/17 Python
python上selenium的弹框操作实现
2020/07/13 Python
python判断一个变量是否已经设置的方法
2020/08/13 Python
美国室内和室外装饰花盆购物网站:ePlanters
2019/03/22 全球购物
香港士多网上超级市场:Ztore
2021/01/09 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
房地产还款计划书
2014/01/10 职场文书
20岁生日感言
2014/01/13 职场文书
格列佛游记读书笔记
2015/06/30 职场文书
初中班主任工作随笔
2015/08/15 职场文书