Laravel Repository急切加载预定义的访问器

时间:2017-08-18 09:17:40

标签: php laravel repository-pattern accessor

只是想知道是否可以在Laravel Repository中急切加载已定义的访问者。我目前正在使用此l5-repository包和Laravel 5.4。

在我的/* */模型中,我有这个功能

UserInfo.php

然后我试图像我这样在控制器中加载那个存取器。

public function getFullNameAttribute()
{
    return ucfirst($this->first_name . " ". $this->last_name);
}

我知道它不会起作用。我只是想找一个类似的方法在我的集合中添加我的访问者$user_infos = $this->repository->with('full_name')->all(); // or $user_infos = $this->repository->with('getFullNameAttribute')->all(); return response()->json([ 'data' => $user_infos ]); 。所以我不需要在前端连接。所以我的预期结果将是

full_name

1 个答案:

答案 0 :(得分:1)

在模型$appends

中使用UserInfo.php
protected $appends = ['full_name'];

这会将此自定义字段附加到您的收藏中。

然后你可以在这里看到它:

$user_infos = UserInfo::all(); 
$user_infos->toJson();

您可以在json中看到附加的访问者。