首頁  >  文章  >  資料庫  >  如何使用 Laravel 建立 Insert...Select 語句:Eloquent 和查詢產生器解決方案?

如何使用 Laravel 建立 Insert...Select 語句:Eloquent 和查詢產生器解決方案?

Susan Sarandon
Susan Sarandon原創
2024-11-01 02:20:28325瀏覽

How to Create Insert...Select Statements with Laravel: Eloquent and Query Builder Solutions?

在Laravel 建立插入... Select 語句

問:如何建立插入...使用Laravel的Eloquent ORM 或查詢來選擇語句?我正在努力轉換以下SQL 語法:

<code class="sql">Insert into Demand (Login, Name, ApptTime, Phone, Physician, Location, FormatName, FormatDate, FormatTime, ApptDate, FormatPhone, cellphone)
Select Login, Name, ApptTime, Phone, Physician, Location, FormatName, FormatDate, FormatTime, ApptDate, FormatPhone, cellphone from " . [dbname] . "
    Where " . $where_statement</code>

A: 雖然Laravel 在大多數版本中沒有直接的單一查詢方法,但還有其他方法可以實現類似的結果:

方法1: 使用原始SQL 和綁定參數

<code class="php">$select = User::where(...)->where(...)->select(['email', 'moneyOwing']);
$bindings = $select->getBindings();

$insertQuery = 'INSERT into user_debt_collection (email, dinero) ' . $select->toSql();

DB::insert($insertQuery, $bindings);</code>

方法2:使用insertUsing()(Laravel 5.7以上)

<code class="php">DB::table('user_debt_collection')->insertUsing(['email', 'dinero'], $select);</code>

注意:這些方法讓你重複使用現有SELECT 語句的綁定並單​​獨執行INSERT 語句。

以上是如何使用 Laravel 建立 Insert...Select 語句:Eloquent 和查詢產生器解決方案?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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