如何使用 Laravel 创建 Insert...Select 语句:Eloquent 和查询生成器解决方案?

Susan Sarandon
发布: 2024-11-01 02:20:28
原创
324 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!