如何在Laravel上使用自定义列名称获取特定列

时间:2019-06-14 12:42:37

标签: laravel eloquent laravel-5.8

寻找一种使用自定义列名称从Laravel Eloquent获取特定列的方法。

例如将 example_name 作为名称

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

这是Laravel中的示例查询:

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

我想要得到的东西看起来像这样:

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

1 个答案:

答案 0 :(得分:2)

例如,在用户模型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