我想顯示一個查詢,而不使用Eloquent執行它。我想寫這樣的:如何顯示查詢而不執行它與雄辯
\DB::table('my_table')-> updateOrInsert(['a' => 'b'], ['c' => 'd']);
這是一個生產行動,所以我有點直接運行它的壓力。有沒有辦法顯示它而不是運行它?
我想顯示一個查詢,而不使用Eloquent執行它。我想寫這樣的:如何顯示查詢而不執行它與雄辯
\DB::table('my_table')-> updateOrInsert(['a' => 'b'], ['c' => 'd']);
這是一個生產行動,所以我有點直接運行它的壓力。有沒有辦法顯示它而不是運行它?
如果您有查詢構建器實例,則可以使用toSql()
。由於updateOrInsert()
方法不會返回構建器實例,因此無法以此方式阻止其執行。相反,您可以將查詢放入DB::pretend()
閉包中,並且它應該返回它將執行的查詢。
\DB::pretend(function() {
\DB::table('my_table')->update(['a' => 'b']);
});
應返回:
[
[
"query" => "update `my_table` set `a` = ?",
"bindings" => [
"b",
],
"time" => 0.01,
],
]
注意:您所提供永遠不會因爲insertOrUpdate()
工作的例子並不存在。我相信你正在尋找updateOrInsert()
謝謝!編輯! –