1.在路由閉包打印sql

打印一段代码生产的 sql 语句,使用路由闭包做个实验

  1. Route::get('/get-sql', function() {
  2. DB::enableQueryLog();
  3. $data = App\Models\BusinessProduct::Enable(1)->get();
  4. return response()->json(DB::getQueryLog());
  5. });

在浏览器打开:http://127.0.0.1:8000/get-sql

  1. [
  2. {
  3. "query":"select * from `fook_business_product` where `enable` = ?",
  4. "bindings":[
  5. 1
  6. ],
  7. "time":13.02
  8. }
  9. ]

2.在controller打印sql

2.1定義路由

  1. Route::group(['prefix' => 'admin'], function () {
  2. $namespacePrefix="\\App\\Http\\Controllers\\Admin\\";
  3. Route::get('/product',['uses' => $namespacePrefix . 'BusinessProductController@index', 'as' => 'index']);
  4. });

2.2定時model

  1. <?php
  2.  
  3. namespace App\Models;
  4.  
  5. use Illuminate\Database\Eloquent\Model;
  6.  
  7. class BusinessProduct extends Model
  8. {
  9. protected $table = 'fook_business_product';
  10.  
  11. /**
  12. * 是否有效(1、有效,0、無效 )
  13. * @author jackie <2019.01.23>
  14. */
  15. public function scopeEnable($query,$enable)
  16. {
  17. return $query->where('enable',$enable);
  18. }
  19.  
  20. }

2.3定義controller

  1. <?php
  2.  
  3. namespace App\Http\Controllers\Admin;
  4.  
  5. use Illuminate\Http\Request;
  6. use App\Http\Controllers\Controller;
  7. use Illuminate\Support\Facades\DB;
  8. use App\Models\BusinessProduct;
  9.  
  10. class BusinessProductController extends Controller
  11. {
  12. public function index()
  13. {
  14. DB::enableQueryLog();
  15. $data = BusinessProduct::Enable(1)->first();
  16. return response()->json(DB::getQueryLog());
  17.  
  18. }
  19. }

2.4在瀏覽器打開:http://127.0.0.1:8000/admin/product

  1. [
  2. {
  3. "query":"select * from `fook_business_product` where `enable` = ? limit 1",
  4. "bindings":[
  5. 1
  6. ],
  7. "time":12.42
  8. }
  9. ]

打印 laravel 模型查询产品的 SQL的更多相关文章

  1. laravel 模型查询总结

    1.Model::find($id);//查找主键为$id的数据 2.Model::find([$key1,$key2]);//使用双主键进行查找 3.Model::findOrFail($id);/ ...

  2. [Beego模型] 四、使用SQL语句进行查询

    [Beego模型] 一.ORM 使用方法 [Beego模型] 二.CRUD 操作 [Beego模型] 三.高级查询 [Beego模型] 四.使用SQL语句进行查询 [Beego模型] 五.构造查询 [ ...

  3. django模型查询操作

    一旦创建好了数据模型,Django就会自动为我们提供一个数据库抽象API,允许创建.检索.更新和删除对象操作 下面的示例都是通过下面参考模型来对模型字段进行操作说明: from django.db i ...

  4. EntityFramework Core 2.0执行原始查询如何防止SQL注入?

    前言 接下来一段时间我们来讲讲EntityFramework Core基础,精简的内容,深入浅出,希望为想学习EntityFramework Core的童鞋提供一点帮助. EntityFramewor ...

  5. MyBatis学习总结(三)——多表关联查询与动态SQL

    在上一章中我们学习了<MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射>,这一章主要是介绍一对一关联查询.一对多关联查询与动态SQL等内容. 一.多表关联查询 表与 ...

  6. laravel7 ORM和laravel模型操作

    1.什么是ORM 对象关系映射(Object Relation Maping),这个关系就是关系数据库.因此,顾名思义,ORM的核心是我们通过操作对应来操作关系数据库. ORM的优点:  ORM提供了 ...

  7. 将复杂查询写到SQL配置文件--SOD框架的SQL-MAP技术简介

    引言 今天看到一片热门的博客, .NET高级工程师面试题之SQL篇 ,要求找出每一个系的最高分,并且按系编号,学生编号升序排列.这个查询比较复杂,也比较典型,自从用了ORM后,很久没有写过SQL语句了 ...

  8. 【T-SQL基础】01.单表查询-几道sql查询题

    概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...

  9. 08章 分组查询、子查询、原生SQL

    一.分组查询 使用group by关键字对数据分组,使用having关键字对分组数据设定约束条件,从而完成对数据分组和统计 1.1 聚合函数:常被用来实现数据统计功能 ① count() 统计记录条数 ...

随机推荐

  1. VUE本身是不支持IE的,可用babel-polyfill解决

    一般来说VUE本身是不支持IE的,但是可以用特殊的方法来解决,亲测可用第一步:下载插件 cnpm install --save babel-polyfill第二步:入口文件main.js引入( imp ...

  2. [JSTL - fmt] fmt标签格式化日期

    <span ><fmt:formatDate value="${ann.adate }" pattern="yyyy-MM-dd"/>& ...

  3. 雷林鹏分享:jQuery EasyUI 数据网格 - 列运算

    jQuery EasyUI 数据网格 - 列运算 在本教程中,您将学习如何在可编辑的数据网格(datagrid)中包含一个运算的列.一个运算列通常包含一些从一个或多个其他列运算的值. 首先,创建一个可 ...

  4. python-html基础操作

    介绍: HTML  是网页内容的载体.包括文字,图片,信息等用户浏览的信息CSS   样式是改变内容外观表现.像字体,颜色,背景,边框等JavaScript   是实现网页上的特效效果.如鼠标滑过背景 ...

  5. python模块--os模块

    打印文件的绝对路径:os.path.abspath(__file__) os.path.dirname("/root/python/test.py")   #只取目录名'/root ...

  6. 依赖注入demo

    让我们看一个例子: class UserProvider{ protected $connection; public function __construct(){ $this->connec ...

  7. nginx upstream的五种分配方式

    Nginx负载均衡选项upstream用法举例 1.轮询(weight=1) 默认选项,当weight不指定时,各服务器weight相同,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器d ...

  8. unity中获取七天的日期

    private List<string> Date; private List<string> Day; private string now; private WMG_Axi ...

  9. hibernate环境搭建及操作

    一.导入jar包.1.hibernate的jar包2.jdbc的jar包 二.配置Hibernate.建立hibernate.cfg.xml mysql配置如下: <!DOCTYPE hiber ...

  10. Mac下安装Apache

    没错,这一篇又是因为头头给我安排的任务得出来的总结. 本身Mac是有自带的Apache,但是对并发量有限制,这个可以在系统的配置参数里面看,所以本人决定重新安装一个,来,请按照下面的流程来走: 一.下 ...