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
}
]