使用 Laravel 的查询构建器或 Eloquent 将一个表与一个临时表进行内部连接

     2023-03-14     154

关键词:

【中文标题】使用 Laravel 的查询构建器或 Eloquent 将一个表与一个临时表进行内部连接【英文标题】:Using Laravel's query builder or Eloquent to inner join a table with a temporary one 【发布时间】:2020-12-30 18:51:44 【问题描述】:

我有一个相当复杂的查询,我将对其进行简化以使其更易于阅读:

SELECT `temp_table`.field1, `temp_table`.field2 FROM
(A TEMPORARY TABLE MADE OUT OF A SELECTION QUERY) AS temp_table
INNER JOIN table ON temp_table.field1 = table.id 
WHERE table.some_field = 'something'

我目前正在为此使用 RAW 查询,但现在我想使用 Laravel 中的 Query Builder 或 Eloquent ORM 重写它。我是 Laravel 的新手。因此,任何想法或帮助表示赞赏。

【问题讨论】:

【参考方案1】:

尝试使用fromSub

 DB::query()->fromSub(function ($query) 
            $query->selectRaw('your query to get the temp_table');
        , 'temp_table')->join('table','table.id','=','temp_table.field1')
        ->where('table.some_field','something');

'fromSub'方法的第二个参数是一个字符串,在sql中是'as',所以你可以用它来命名临时表......

【讨论】:

Laravel:使用模型查询构建器获取重复记录的结果

】Laravel:使用模型查询构建器获取重复记录的结果【英文标题】:Laravel:gettingresultswithrepeatedrecordswithmodelquerybuilder【发布时间】:2021-10-2910:21:37【问题描述】:我正在构建一个提供用户ID的查询://...buildingthe$userIdsQuery$userIds=$user... 查看详情

使用 Laravel 查询构建器方法 whereIn() 和子查询

】使用Laravel查询构建器方法whereIn()和子查询【英文标题】:UsingLaravelquerybuildermethodwhereIn()withsubquery【发布时间】:2017-04-1302:46:31【问题描述】:我正在使用Laravel5.3开发一个Web应用程序。我现在遇到了Laravel查询构建器方法的问题... 查看详情

在查询中使用 AND 的 Laravel 查询构建器

】在查询中使用AND的Laravel查询构建器【英文标题】:LaravelquerybuilderwithANDinquery【发布时间】:2013-02-2312:27:37【问题描述】:我想在查询生成器的末尾添加一个“AND”子句,代码如下所示:$orderers=DB::table(\'address\')->where(function($... 查看详情

如何使用 Laravel 的流畅查询构建器选择计数?

】如何使用Laravel的流畅查询构建器选择计数?【英文标题】:HowtoselectcountwithLaravel\'sfluentquerybuilder?【发布时间】:2012-10-2418:45:19【问题描述】:这是我使用fluent查询生成器的查询。$query=DB::table(\'category_issue\')->select(\'issues.*\')... 查看详情

如何使用 Laravel 的查询构建器执行嵌套连接?

】如何使用Laravel的查询构建器执行嵌套连接?【英文标题】:HowdoIperformnestedjoinsusingLaravel\'squerybuilder?【发布时间】:2018-07-1703:37:00【问题描述】:编辑:澄清一下,我想获取所有节点,无论它们是否有图像。此外,如果图像中... 查看详情

使用查询构建器在 Laravel 中添加全文索引

】使用查询构建器在Laravel中添加全文索引【英文标题】:UsingquerybuilderforaddingfulltextindexinLaravel【发布时间】:2016-07-1012:31:44【问题描述】:这是在MySQL中添加全文索引的查询:ALTERTABLE`TableName`ADDFULLTEXTINDEX`IndexName`(`ColumnName`);但是... 查看详情

在 laravel 查询构建器中使用多个 where 子句

】在laravel查询构建器中使用多个where子句【英文标题】:Usingmultiplewhereclauseswithlaravelquerybuilder【发布时间】:2015-06-0305:19:11【问题描述】:我在转换以下SQL查询以使用Laravel的查询构建器时遇到了很多麻烦。SELECT*FROMgiftsJOINgiftcateg... 查看详情

如何使用 Laravel 查询构建器编写嵌套连接?

】如何使用Laravel查询构建器编写嵌套连接?【英文标题】:HowtowritenestedjoinswithLaravelQuerybuilder?【发布时间】:2016-11-2516:37:57【问题描述】:我有下一个连接顺序的SQL查询(两个JOIN嵌套在LEFTJOIN中):SELECT*FROMmytableLEFTJOINtable1JOINta... 查看详情

Laravel 查询构建器条件与当前查询使用时

】Laravel查询构建器条件与当前查询使用时【英文标题】:LaravelQuerybuilderconditionwithcurrentqueryusingwhen【发布时间】:2020-09-0902:37:01【问题描述】:如何使用laravel查询生成器使用当前查询创建条件,是否有可能,我想它看起来像这... 查看详情

将 MySQL 查询转换为 Laravel 查询构建器代码

】将MySQL查询转换为Laravel查询构建器代码【英文标题】:ConvertMySQLquerytoLaravelquerybuildercode【发布时间】:2021-12-1116:38:27【问题描述】:我正在使用农产品管理系统。我有一个关于MySQL查询的问题。我想知道如何使用Laravel查询生成... 查看详情

查询构建器上的 laravel orderByRaw()

】查询构建器上的laravelorderByRaw()【英文标题】:laravelorderByRaw()onthequerybuilder【发布时间】:2013-12-0216:14:25【问题描述】:目前无法使用Laravel查询构建器进行这样的查询(使用绑定):SELECT*FROM`posts`WHEREMATCH(`title`,`description`AGAINST(... 查看详情

Laravel 查询构建器和表名

】Laravel查询构建器和表名【英文标题】:LaravelQuerybuilderandtablenames【发布时间】:2016-12-2610:55:32【问题描述】:我注意到,当我使用查询生成器时,我在不同的文件中写了很多数据库表名。如果我要更改数据库表名,我将不得不... 查看详情

Laravel 的数据库查询构建器

】Laravel的数据库查询构建器【英文标题】:Laravel\'sDatabaseQueryBuilder【发布时间】:2019-06-1115:26:33【问题描述】:我正在尝试使用Laravel的数据库查询生成器编写一个MySQL选择查询我有这个mysql查询:SELECT*FROM`tweets`WHERE`user_id`=1OR`user... 查看详情

具有依赖项计数的 Laravel 查询构建器

】具有依赖项计数的Laravel查询构建器【英文标题】:Laravelquerybuilderwithcountofdependencies【发布时间】:2018-08-0220:37:36【问题描述】:我在使用Laravel(Lumen)构建查询时遇到问题。这是我的代码:$user=User::where(\'name\',$name)->with([\'pages... 查看详情

Laravel - 使用 Eloquent 查询构建器在选择中添加自定义列

】Laravel-使用Eloquent查询构建器在选择中添加自定义列【英文标题】:Laravel-AddcustomcolumninselectwithEloquentquerybuider【发布时间】:2015-01-2410:57:13【问题描述】:这是一个简化的用例,只是为了说明我想要实现的目标:在纯SQL中考虑... 查看详情

使用 laravel 查询构建器基于相关表排序结果

】使用laravel查询构建器基于相关表排序结果【英文标题】:Orderingresultsbasedonrelatedtablewithlaravelquerybuilder【发布时间】:2018-07-2912:57:54【问题描述】:我有两个模型/表:用户和帖子。一个用户可以有很多帖子,每个帖子属于一个... 查看详情

如何使用查询构建在 Laravel 中执行 WHERE NOT

】如何使用查询构建在Laravel中执行WHERENOT【英文标题】:HowtoperformaWHERENOTinLaravelwithquerybuild【发布时间】:2013-10-0916:25:56【问题描述】:Laravel查询构建有许多where选项,但我找不到描述字段类型timestamp的方法,这些字段类型不为... 查看详情

如何使用 Laravel 查询构建器在 Postgresql 数据库中搜索不区分大小写的查询?

】如何使用Laravel查询构建器在Postgresql数据库中搜索不区分大小写的查询?【英文标题】:HowtosearchincasesensitivequeryinthePostgresqldatabaseusingLaravelquerybuilder?【发布时间】:2020-04-2316:49:12【问题描述】:我想创建一个过滤器。但我面临... 查看详情