如何在 Laravel 上获取具有自定义列名的特定列

Posted

技术标签:

【中文标题】如何在 Laravel 上获取具有自定义列名的特定列【英文标题】:How to get specific column with custom column name on Laravel 【发布时间】:2019-06-14 12:42:37 【问题描述】:

寻找一种从 Laravel Eloquent 中获取具有自定义列名的特定列的方法。

例如获取 example_name 作为 name

我正在尝试复制 SQL 别名,例如 SELECT column_name AS alias_name,但不使用自定义属性。

这是 Laravel 中的示例查询:

Table::get(['column1', 'column2', 'column3'])->all()

而我希望它得到的应该是这样的:

Table::get(['column1', 'column2 AS column4', 'column3'])->all()

【问题讨论】:

Laravel 4 Eloquent Column Alias的可能重复 【参考方案1】:

例如在用户模型email 中作为emailAddress 你想在你的用户模型中这样做

protected $appends = ['emailAddress']; //add custom column here..

public function getEmailAddressAttribute()

     return $this->email;

或者你可以通过这样的查询来使用

User::select('id','name','email as emailAddress')->get();

Table::select('column1', 'column2 AS column4', 'column3')->get()

更多详情请阅读https://laravel.com/docs/5.8/eloquent-mutators

【讨论】:

我使用的是“get”而不是“select”,因此它对我不起作用。非常感谢! @butaminas 不用担心

以上是关于如何在 Laravel 上获取具有自定义列名的特定列的主要内容,如果未能解决你的问题,请参考以下文章