用到的函数:
/**
* 开启日志
*/
function openlogs(){
\Illuminate\Support\Facades\DB::connection()->enableQueryLog();
}
/**
* 打印sql
*/
function prsql(){
echo sql(\Illuminate\Support\Facades\DB::getQueryLog());
}
/**
* sql 组合
*/
function sql($arr){
$bindings = $arr[0]['bindings'];
$sql = $arr[0]['query'];
foreach ($bindings as $replace){
$value = is_numeric($replace) ? $replace : "'".$replace."'";
$sql = preg_replace('/\?/', $value, $sql, 1);
}
return $sql;
}
用法:
openlogs();
//中间是数据库查询操作,如:
$game = Game::where(['title1'=>$gameName])
->Orwhere(['title2'=>$gameName])
->select(['id','title1','title2','title3','title4','title5'])
->first();
prsql();
// 打印结果:
select `id`, `title1`, `title2`, `title3`, `title4`, `title5` from `prefix_game` where (`title1` = 'title') or (`title2` = 'title') limit 1