在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中文網其他相關文章!