打印 laravel 模型查询产品的 SQL
1.在路由閉包打印sql
打印一段代码生产的 sql 语句,使用路由闭包做个实验
- Route::get('/get-sql', function() {
- DB::enableQueryLog();
- $data = App\Models\BusinessProduct::Enable(1)->get();
- return response()->json(DB::getQueryLog());
- });
在浏览器打开:http://127.0.0.1:8000/get-sql
- [
- {
- "query":"select * from `fook_business_product` where `enable` = ?",
- "bindings":[
- 1
- ],
- "time":13.02
- }
- ]
2.在controller打印sql
2.1定義路由
- Route::group(['prefix' => 'admin'], function () {
- $namespacePrefix="\\App\\Http\\Controllers\\Admin\\";
- Route::get('/product',['uses' => $namespacePrefix . 'BusinessProductController@index', 'as' => 'index']);
- });
2.2定時model
- <?php
- namespace App\Models;
- use Illuminate\Database\Eloquent\Model;
- class BusinessProduct extends Model
- {
- protected $table = 'fook_business_product';
- /**
- * 是否有效(1、有效,0、無效 )
- * @author jackie <2019.01.23>
- */
- public function scopeEnable($query,$enable)
- {
- return $query->where('enable',$enable);
- }
- }
2.3定義controller
- <?php
- namespace App\Http\Controllers\Admin;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use Illuminate\Support\Facades\DB;
- use App\Models\BusinessProduct;
- class BusinessProductController extends Controller
- {
- public function index()
- {
- DB::enableQueryLog();
- $data = BusinessProduct::Enable(1)->first();
- return response()->json(DB::getQueryLog());
- }
- }
2.4在瀏覽器打開:http://127.0.0.1:8000/admin/product
- [
- {
- "query":"select * from `fook_business_product` where `enable` = ? limit 1",
- "bindings":[
- 1
- ],
- "time":12.42
- }
- ]
打印 laravel 模型查询产品的 SQL的更多相关文章
- laravel 模型查询总结
1.Model::find($id);//查找主键为$id的数据 2.Model::find([$key1,$key2]);//使用双主键进行查找 3.Model::findOrFail($id);/ ...
- [Beego模型] 四、使用SQL语句进行查询
[Beego模型] 一.ORM 使用方法 [Beego模型] 二.CRUD 操作 [Beego模型] 三.高级查询 [Beego模型] 四.使用SQL语句进行查询 [Beego模型] 五.构造查询 [ ...
- django模型查询操作
一旦创建好了数据模型,Django就会自动为我们提供一个数据库抽象API,允许创建.检索.更新和删除对象操作 下面的示例都是通过下面参考模型来对模型字段进行操作说明: from django.db i ...
- EntityFramework Core 2.0执行原始查询如何防止SQL注入?
前言 接下来一段时间我们来讲讲EntityFramework Core基础,精简的内容,深入浅出,希望为想学习EntityFramework Core的童鞋提供一点帮助. EntityFramewor ...
- MyBatis学习总结(三)——多表关联查询与动态SQL
在上一章中我们学习了<MyBatis学习总结(二)——MyBatis核心配置文件与输入输出映射>,这一章主要是介绍一对一关联查询.一对多关联查询与动态SQL等内容. 一.多表关联查询 表与 ...
- laravel7 ORM和laravel模型操作
1.什么是ORM 对象关系映射(Object Relation Maping),这个关系就是关系数据库.因此,顾名思义,ORM的核心是我们通过操作对应来操作关系数据库. ORM的优点: ORM提供了 ...
- 将复杂查询写到SQL配置文件--SOD框架的SQL-MAP技术简介
引言 今天看到一片热门的博客, .NET高级工程师面试题之SQL篇 ,要求找出每一个系的最高分,并且按系编号,学生编号升序排列.这个查询比较复杂,也比较典型,自从用了ORM后,很久没有写过SQL语句了 ...
- 【T-SQL基础】01.单表查询-几道sql查询题
概述: 本系列[T-SQL基础]主要是针对T-SQL基础的总结. [T-SQL基础]01.单表查询-几道sql查询题 [T-SQL基础]02.联接查询 [T-SQL基础]03.子查询 [T-SQL基础 ...
- 08章 分组查询、子查询、原生SQL
一.分组查询 使用group by关键字对数据分组,使用having关键字对分组数据设定约束条件,从而完成对数据分组和统计 1.1 聚合函数:常被用来实现数据统计功能 ① count() 统计记录条数 ...
随机推荐
- VUE本身是不支持IE的,可用babel-polyfill解决
一般来说VUE本身是不支持IE的,但是可以用特殊的方法来解决,亲测可用第一步:下载插件 cnpm install --save babel-polyfill第二步:入口文件main.js引入( imp ...
- [JSTL - fmt] fmt标签格式化日期
<span ><fmt:formatDate value="${ann.adate }" pattern="yyyy-MM-dd"/>& ...
- 雷林鹏分享:jQuery EasyUI 数据网格 - 列运算
jQuery EasyUI 数据网格 - 列运算 在本教程中,您将学习如何在可编辑的数据网格(datagrid)中包含一个运算的列.一个运算列通常包含一些从一个或多个其他列运算的值. 首先,创建一个可 ...
- python-html基础操作
介绍: HTML 是网页内容的载体.包括文字,图片,信息等用户浏览的信息CSS 样式是改变内容外观表现.像字体,颜色,背景,边框等JavaScript 是实现网页上的特效效果.如鼠标滑过背景 ...
- python模块--os模块
打印文件的绝对路径:os.path.abspath(__file__) os.path.dirname("/root/python/test.py") #只取目录名'/root ...
- 依赖注入demo
让我们看一个例子: class UserProvider{ protected $connection; public function __construct(){ $this->connec ...
- nginx upstream的五种分配方式
Nginx负载均衡选项upstream用法举例 1.轮询(weight=1) 默认选项,当weight不指定时,各服务器weight相同,每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器d ...
- unity中获取七天的日期
private List<string> Date; private List<string> Day; private string now; private WMG_Axi ...
- hibernate环境搭建及操作
一.导入jar包.1.hibernate的jar包2.jdbc的jar包 二.配置Hibernate.建立hibernate.cfg.xml mysql配置如下: <!DOCTYPE hiber ...
- Mac下安装Apache
没错,这一篇又是因为头头给我安排的任务得出来的总结. 本身Mac是有自带的Apache,但是对并发量有限制,这个可以在系统的配置参数里面看,所以本人决定重新安装一个,来,请按照下面的流程来走: 一.下 ...