![](/img/trans.png)
[英]How to Get the Query Executed in Laravel 5? DB::getQueryLog() Returning Empty Array
[英]How to get the simple query executed in Laravel 5? DB:: getQueryLog giving array
我是Laravel的Fresher,我想在Laravel 5中執行簡單的查詢。我正在使用下面的函數插入數據
public function store12($inputs)
{
$this->name = $inputs['name'];
$this->email = $inputs['email'];
$this->text = $inputs['message'];
$this->save();
echo "<pre>"; print_r(dd(DB::getQueryLog()));
//echo DB::table('contacts')->toSql();
die;
}
並使用它: -dd(DB :: getQueryLog())獲取行查詢,這在下面給出了原始查詢:-
array:1
0 => array:3
"query" => "insert into `contacts` (`name`, `email`, `text`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?)"
"bindings" => array:5
0 => "shahjad"
1 => "shahjad.ahmadtimt@gmail.com"
2 => "xsxdxsda"
3 => "2016-06-13 12:17:43"
4 => "2016-06-13 12:17:43"
]
"time" => 33.0
]
]
其實我想這樣查詢:
insert into `contacts` (`name`, `email`, `text`, `updated_at`, `created_at`) values ('shahjad', 'shahjad.ahmadtimt@gmail.com', 'xsxdxsda', '2016-06-13 12:17:43', '2016-06-13 12:17:43')"
這樣我就可以輕松地直接將此查詢直接執行到phpmyadmin中,否則我不得不在查詢中提及該值,這很耗時。
在Codeigniter中,當我們使用last_query方法時,它將顯示不帶數組的簡單查詢。 我想像codeigniter一樣。 有沒有可能
使用-> tosql()
例子
dd(DB::select('users')->where('smthing',1)->get()->tosql());
編輯
$test = DB::table('users')->insert(
['name' => $inputs['name'], 'email' => $inputs['email'], 'text' => $inputs['message']]
)->tosql();
或者你可以這樣做
\DB::listen(function($sql) {
var_dump($sql);
});
要么
您可以使用此軟件包,它將向您顯示已進行的每個sql查詢laravel-debugbar
你嘗試過原始方法
$results = DB::select( DB::raw("
insert into `contacts`
(`name`, `email`, `text`, `updated_at`, `created_at`)
values
('shahjad', 'shahjad.ahmadtimt@gmail.com', 'xsxdxsda', '2016-06-13 12:17:43', '2016-06-13 12:17:43')
" ) );
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.