首页 > 解决方案 > 如何在 Laravel 上获取具有自定义列名的特定列

问题描述

寻找一种使用自定义列名从 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()

标签: laraveleloquentlaravel-5.8

解决方案


例如在用户模型emailemailAddress你想得到然后在你的用户模型中这样做

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


推荐阅读