如何在查询中为 eloquent 模型起别名

     2023-03-14     258

关键词:

【中文标题】如何在查询中为 eloquent 模型起别名【英文标题】:How to alias eloquent models in a query 【发布时间】:2016-05-24 18:16:11 【问题描述】:

你如何给一个雄辩的模型起别名?例如,如果我有如下 SQL 查询:

SELECT one.name
     , one.id
     , one.name AS sortkey1
     , CAST(NULL AS UNSIGNED) AS sortkey2
     , CAST(NULL AS UNSIGNED) AS sortkey3
 FROM locations AS one
WHERE one.parent_id = 0
UNION ALL
....

在我的存储库中,我会有以下内容:

$first = $this->model->where('one.parent_id', '=', 0)
                     ->select('one.name'
                           , 'one.id'
                           , 'one.name AS sortkey1'
                           , DB::raw('CAST(NULL AS UNISIGNED) AS sortkey2')
                           , DB::raw('CAST(NULL AS UNISIGNED) AS sortkey3'));

那么,如何给模型起别名。在上面的示例中,模型映射了位置表,并且在我雄辩的查询中,我想将其别名为 one 而不是 locations

【问题讨论】:

【参考方案1】:

你可以这样使用from

$first = $this->model->from('locations as one')
                     ->where('one.parent_id', '=', 0)
                     ->select('one.name'
                           , 'one.id'
                           , 'one.name AS sortkey1'
                           , DB::raw('CAST(NULL AS UNISIGNED) AS sortkey2')
                           , DB::raw('CAST(NULL AS UNISIGNED) AS sortkey3'));

【讨论】:

如何在laravel eloquent中为左连接表起别名

】如何在laraveleloquent中为左连接表起别名【英文标题】:Howtoaliasaleftjoinedtableinlaraveleloquent【发布时间】:2018-09-0414:19:44【问题描述】:基本上我有一种情况,我在laravel查询中创建了两个左外连接,现在我想选择两列并为它们放... 查看详情

Rails 4 - 如何在活动记录查询中为包含()和连接()提供别名

】Rails4-如何在活动记录查询中为包含()和连接()提供别名【英文标题】:Rails4-howtogivealiasnamestoincludes()andjoins()inactiverecordquerying【发布时间】:2015-04-2003:55:51【问题描述】:我怎样才能给例如一个别名?includes()?下面给出:... 查看详情

如何在 MySQL 中为数据库起别名?

】如何在MySQL中为数据库起别名?【英文标题】:HowdoIaliasadatabaseinMySQL?【发布时间】:2010-11-2103:25:58【问题描述】:我正在寻找一种在MySQL中为数据库设置别名的方法。原因是能够在不关闭系统的情况下重命名实时生产数据库。... 查看详情

如何在css或sass中为类名起别名

】如何在css或sass中为类名起别名【英文标题】:howtoaliasclassnameincssorsass【发布时间】:2012-10-3109:28:02【问题描述】:我可以为css类创建别名吗?我正在使用这种很棒的字体,并且我正在尝试为某些图标类创建别名。这样.icon-globe... 查看详情

如何在 C# 中为类名起别名,而不必向使用该类的每个文件添加一行代码?

】如何在C#中为类名起别名,而不必向使用该类的每个文件添加一行代码?【英文标题】:HowdoIaliasaclassnameinC#,withouthavingtoaddalineofcodetoeveryfilethatusestheclass?【发布时间】:2010-09-1915:27:42【问题描述】:我想为类名创建一个别名。... 查看详情

如何在 Eloquent 查询关系中使用模型的属性

】如何在Eloquent查询关系中使用模型的属性【英文标题】:HowUseaPropertyofaModelinEloquentQueryingRelations【发布时间】:2022-01-0517:03:09【问题描述】:我有三个模型。大学,教授和学生。他们有一些关系。大学模型:<?phpnamespaceApp\\Mode... 查看详情

如何在 laravel 查询生成器中为 sql 选择列添加别名?

】如何在laravel查询生成器中为sql选择列添加别名?【英文标题】:HowcanIaliassqlselectcolumnsinlaravelquerybuilder?【发布时间】:2022-01-2300:21:30【问题描述】:我有一个这样的查询,我不确定如何为每个表的选择列设置别名。你能帮我解... 查看详情

在 Eloquent 急切加载中选择特定字段不起作用

...加载带有names和emails的模型。但是,当使用select方法时,查询返回null。$notifications 查看详情

在 Django QuerySet.values 调用中为 dict 键起别名

】在DjangoQuerySet.values调用中为dict键起别名【英文标题】:AliasingthedictkeysinaDjangoQuerySet.valuescall【发布时间】:2014-10-1422:48:40【问题描述】:>>>ppcs.values(\'price\',\'currency__currency_code\')[\'price\':Decimal(\'562.00\'),\'curr 查看详情

如何将数据库查询构建器转换为 Eloquent 模型

】如何将数据库查询构建器转换为Eloquent模型【英文标题】:HowtoconvertdatabasequerybuilderintoEloquentmodels【发布时间】:2019-06-0902:07:46【问题描述】:我需要将数据库查询构建器转换为Eloquent模型。我正在使用插件https://github.com/Kyslik/c... 查看详情

如何在 Laravel 中为模型命名,以免与现有类发生冲突?

】如何在Laravel中为模型命名,以免与现有类发生冲突?【英文标题】:HowdoInamespaceamodelinLaravelsoasnotto***withanexistingclass?【发布时间】:2013-04-1312:58:56【问题描述】:在Laravel4中,我想使用一个模型来表示来自我的数据库的Event。... 查看详情

如何在 Laravel Eloquent 中构建具有多级关系的查询

】如何在LaravelEloquent中构建具有多级关系的查询【英文标题】:HowtobuildquerywithmultilevelrelationsinLaravelEloquent【发布时间】:2021-12-2819:07:17【问题描述】:我有三个模型。Sponsor、Optin和Participant。Sponsor与Optin具有一对多关系,Optin与P... 查看详情

在 Laravel(流明)上使用 Mockery 模拟 Eloquent 模型不起作用

】在Laravel(流明)上使用Mockery模拟Eloquent模型不起作用【英文标题】:MockingEloquentmodelwithMockeryonLaravel(Lumen)doesn\'twork【发布时间】:2020-05-1404:41:47【问题描述】:对PHP还很陌生,所以如果我遗漏了一些明显的东西,请原谅我。我... 查看详情

在 Eloquent 属性中返回查询的模型

】在Eloquent属性中返回查询的模型【英文标题】:ReturnqueriedmodelinEloquentattribute【发布时间】:2017-04-1823:01:21【问题描述】:我正在使用Laravel雄辩的ORM,我希望能够将查询的laravel模型作为属性返回,或者更理想的是作为雄辩的关... 查看详情

急切加载时为 Eloquent 关系别名

...急切加载时为Eloquent关系设置别名?例如,我可能有如下查询。User::with([\'roles\'=>function($query)$query->where(\'type\',ADMIN);]);但是 查看详情

在哪里放置与 Eloquent 无关的 SQL 查询

】在哪里放置与Eloquent无关的SQL查询【英文标题】:WheretoputnotEloquentrelatedSQLqueries【发布时间】:2014-06-3019:09:05【问题描述】:我使用Eloquent来实现我的模型。它有很多方法可以更轻松地处理模型。但是,在某些情况下,我必须实... 查看详情

Laravel 让 MySQL 在 Eloquent 模型中查询 Builder 语句

】Laravel让MySQL在Eloquent模型中查询Builder语句【英文标题】:LaravelgetMySQLtoqueryBuilderstatementinEloquentmodel【发布时间】:2018-11-2522:22:03【问题描述】:给定下表:+----+----------+------------+|id|parent_id|Name|+----+----------+------------+|1|NULL 查看详情

如何使 Laravel Eloquent “IN” 查询?

】如何使LaravelEloquent“IN”查询?【英文标题】:HowtoMakeLaravelEloquent"IN"Query?【发布时间】:2015-05-2020:14:31【问题描述】:我想在LaravelEloquent中进行查询,就像这里的原始MySQL查询一样SELECT*fromexampleTblwhereidin(1,2,3,4)我已经在... 查看详情