首頁 >資料庫 >mysql教程 >如何將 Laravel 原始查詢中的參數與模型綁定

如何將 Laravel 原始查詢中的參數與模型綁定

DDD
DDD原創
2024-11-15 01:31:02826瀏覽

How to Bind Parameters in Laravel Raw Queries with a Model

將Laravel 原始查詢中的參數與模型綁定

在Laravel 中,將參數綁定到模型上使用的原始資料庫查詢可能會很棘手。但是,這裡有一個可以幫助的解決方法:

問題:

由於混合命名和位置,以下查詢失敗並出現「無效參數號碼」錯誤參數:

$query = DB::raw("... :lat, :lng, (calc) AS ...")->having("calc", "<", :radius);

解:

利用setBindings() 方法手動設定查詢綁定,覆寫混合參數問題:

$query = DB::raw("... ?, ?, (calc) AS ...")->having("calc", "<", "?");
$query->setBindings([$lat, $lng, $radius]);

解釋:

DB::raw() 語句使用問號作為位置參數,允許您使用setBindings() 來設定它們命名綁定。這種方法允許您使用查詢產生器的流暢介面,而無需擔心參數混合。

以上是如何將 Laravel 原始查詢中的參數與模型綁定的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn