Laravel - named subquery using Query Builder(Laravel - 使用查询生成器命名子查询)
问题描述
在 MySQL 子查询 文档中有一个子查询示例:
In MySQL subqueries documentation there's an exmaple of subquery:
SELECT ... FROM (subquery) [AS] name ...
这是我要转换的原始查询:
Here's the raw query which I want to transform:
select SUBQUERY_NAME.* from (select id, name from items) AS SUBQUERY_NAME
在 Laravel Query Builder 中有什么方法可以在不使用 DB::raw()
的情况下做到这一点?
Is there any way to do this in Laravel Query Builder without using DB::raw()
?
推荐答案
不幸的是没有.查询构建器有其局限性,更复杂的查询超出了它的范围,这就是 DB::raw()
存在的原因.但是,如果你想让它更优雅一点并使用查询生成器生成子查询,你可以这样做:
Unfortunatelly no. The Query Builder has its limitations and more complex queries are outside its scope, that's why DB::raw()
is there. But, if you want to make it a little more elegant and generate the subquery using the Query Builder, you could do something like this this:
$subquery = DB::table('items')->select('id', 'name')->toSql();
DB::table(DB::raw($subquery . ' as subquery_name'))->select('subquery_name.*');
这篇关于Laravel - 使用查询生成器命名子查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Laravel - 使用查询生成器命名子查询
基础教程推荐
- WooCommerce 中选定产品类别的自定义产品价格后缀 2021-01-01
- 在 Woocommerce 中根据运输方式和付款方式添加费用 2021-01-01
- 在 PHP 中强制下载文件 - 在 Joomla 框架内 2022-01-01
- 如何在 PHP 中的请求之间持久化对象 2022-01-01
- mysqli_insert_id 是否有可能在高流量应用程序中返回 2021-01-01
- 通过 PHP SoapClient 请求发送原始 XML 2021-01-01
- Libpuzzle 索引数百万张图片? 2022-01-01
- 在多维数组中查找最大值 2021-01-01
- 超薄框架REST服务两次获得输出 2022-01-01
- XAMPP 服务器不加载 CSS 文件 2022-01-01