打印 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() 统计记录条数 ...
随机推荐
- 第 8 章 容器网络 - 063 - 如何使用 Weave 网络?
如何使用 Weave 网络? weave 是 Weaveworks 开发的容器网络解决方案. weave 创建的虚拟网络可以将部署在多个主机上的容器连接起来. 对容器来说,weave 就像一个巨大的以 ...
- mst总结
1.jsonp跨域 Jsop的原理:利用script不存在跨域的问题,动态创建script标签,把需要请求的数据源地址赋值给其src属性,并且指定一个回调函数,从而接受到我们想要的数据 后台设置下 ...
- C++11 boost TR1 TR2曾经参考过的网址整理
boost::bind的用法:http://blog.csdn.net/adcxf/article/details/3970116
- Vue(五) 购物车案例
这一篇把之前所学的内容做一个总结,实现一个购物车样例,可以增加或者减少购买数量,可移除商品,并且购物车总价随着你的操作实时变化. 实现效果如图: 代码: <!DOCTYPE html> & ...
- ID基本操作(复制页面)(移动页面)(调整跨页页数)(版面调整)5.16
1.在页面面板中选择要复制的页面.拖动到新建页面图标上就可以新建页面. 2.在页面面板中选择要复制的页面.点击右上角的下箭头选择直接复制跨页. 3.在页面面板中选择要移动的页面.用鼠标拖到要移动的地方 ...
- ID基本操作(出血的定义)(置入图片)(添加页面)5.15
出血区域就是会被裁掉的部分.防止打印出来裁剪出一个百边.查看文档的几种模式: 在一个文档里CTRL+C复制,CTRL+V粘贴.可在光标位置置入文本框架. 2.用文字工具在文本中单击,为了确定光标位置, ...
- linux下mysql多实例安装
1.MySQL多实例介绍 1.1.什么是MySQL多实例 MySQL多实例就是在一台机器上开启多个不同的服务端口(如:3306,3307),运行多个MySQL服务进程,通过不同的socket监听不同的 ...
- Invalid demension,shape[-1,40,40,1]
代码里定一个了没有用的placeholder, 或者说没有给这个placeholder 传值
- python笔记17-全局变量、局部变量
在函数里面定义变量叫局部变量,它只能在函数里面用出了该函数外,就不能使用了在函数外面定义的变量,是全局变量,在函数内也可以使用 如果想在函数里面修改全局变量的值,那么要先用global关键字声明 要修 ...
- JAVA条件语句:if;switch case
if(布尔表达式) { //如果布尔表达式为true将执行的语句 } 如果布尔表达式为true 执行里面的代码 if...else语句: if(布尔表达式){ //如果布尔表达式的值为true } ...