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

吾爱主题 阅读:134 2021-09-26 13:42:00 评论:0

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

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

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

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

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

 1.1 insert

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

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

 1.2 select

?
1 2 3 4 5 6 7 8 public function getArticles(){    $articles = DB::select( 'SELECT * FROM articles WHERE id="codetool">

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

1.3 update

?
1 2 3 4 5 public function getUpdate() {    $affected = DB::update( 'UPDATE articles SET id="codetool">

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

1.4 delete

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

1.5 statement

?
1 2 3 4 public function getDrop() {    DB::statement( 'DROP TABLE articles' ); }

2 监听查询

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

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 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程序设计有所帮助。

原文链接:https://www.cnblogs.com/sun-kang/p/7465555.html

  • SQL
  • 数据库
  • Laravel
  • DB
  • 延伸 · 阅读

    精彩推荐 最近更新 编辑推荐 阅读排行 热门标签 2038   2021   65279   100010   实参   形参   PHP文件   bcompiler   在线时间   存储方案   PHP技术   php安全   编程效率   Foxmail   PHPnow   apache_pn   visitFile   dede模板标签   escape   IP查询   GOOGLE地图   递归循环   颠倒   变量引用   自动获取   递归删除   加载文件   异常机制   递增运算   php服务器环境搭建   © 2019-2022 服务器之家(www.tuohang.net) 版权所有 关于我们联系我们版权申明网站地图
    可以去百度分享获取分享代码输入这里。
    声明

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    【腾讯云】云服务器产品特惠热卖中
    搜索
    标签列表
      关注我们

      了解等多精彩内容