Laravel 5.3: 存取器值不 JSON 编码

Laravel 5.3: accessor value doesnot JSON encode

我正在使用 Laravel 5.3、ajax 制作一个 crud 应用程序。我在我的员工模型上使用访问器,如下所示:-

  class Employee extends Model
  {
  protected $table='employees';
  protected $primaryKey = 'id';


  protected $fillable=          ['name','designation','email','phone','address','bio','user_id'];

  public function getAvatarAttribute()
{
    if(file_exists(public_path("uploads/employee/employee_{$this->id}.jpg"))){
        return url("uploads/employee/employee_{$this->id}.jpg");
    }
    return url("images/employee_default.jpg");
}

EmployeeController.php:-

public function show(Request $request)
    {

      if($request->ajax()){
          $id = $request->id;
          $employee = Employee::find($id);
          return response()->json($employee);
      }

查看代码:-

<div class="col-sm-3">
        <img id="view_avatar" src="" alt="Avatar" class="img-thumbnail">
</div>

<p><b>Employee Name : </b><span id="view_ename" class="text-success"></span></p>
<p><b>Designation : </b><span id="view_designation" class="text-success"></span></p>
<p><b>Mobile No.: </b><span id="view_mobile" class="text-success"></span></p>
<p><b>Email: </b><span id="view_email" class="text-success"></span></p>
<p><b>Address : </b><span id="view_address" class="text-success"></span></p>

Jquery 使用 AJAX 获取数据的代码:-

function fun_view(id)
      {
        var view_url = $("#hidden_view").val();
        $.ajax({
          url: view_url,
          type:"GET",
          data: {"id":id},
          success: function(result){
            console.log(result);
            $("#view_avatar").attr('src',result.avatar);
            $("#view_ename").text(result.name);
            $("#view_designation").text(result.designation);
            $("#view_mobile").text(result.phone);
            $("#view_email").text(result.email);
            $("#view_address").text(result.address);
          }
        });
      }

此处所有数据均使用Ajax显示,图片除外。 - 在我的控制器中,当我 dd($employee->avatar); 它显示 url 图像。 - 但在 console.log(result); 输出中没有关于头像的任何信息

Console.log(结果)输出:-

address:"dhaka"
bio:"dhaka"
created_at:"2017-03-21 20:00:30"
designation:"partner"
email:"i.mossadek@gmail.com"
id:18
name:"Moloy"
phone:"01555555555"
updated_at:"2017-03-21 20:00:30"
user_id:26

我的问题是我哪里做错了?提前致谢。

您需要将属性添加到 $appends

class Employee extends Model {
    ...    
    /**
     * The accessors to append to the model's array form.
     *
     * @var array
     */
    protected $appends = ['avatar'];
    ...
}