Laravel 5.6 -> POST http://127.0.0.1:8000/posts 500 (внутренняя ошибка сервера) - PullRequest
0 голосов
/ 03 октября 2018

Когда я пытаюсь получить доступ к API и добавить защищенный $ appends = ['avatar'], это выдает ошибку, в то время как в случае удаления $ добавляется ошибка go.

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;


class User extends Authenticatable
{
use Notifiable;

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
 protected $fillable = [
    'username', 'email', 'password',
 ];

 protected $appends = ['avatar'];

 /**
 * The attributes that should be hidden for arrays.
 *
 * @var array
 */
 protected $hidden = [
    'password', 'remember_token',
 ];

 public function posts()
 { 
   return $this->hasMany(Post::class);
 }

 public function getAvatar(){
   return 'https://gravatar.com/avatar/'.md5($this->email).'/?d=mm&s=45';
 }

 public function getAvatarAtribute(){
   return $this->getAvatar();
   }
 }

Когда я иду к трассировке сети, я вижу этот совет -> сообщение: «Метод Illuminate \ Database \ Query \ Builder :: getAvatarAttribute не существует».

1 Ответ

0 голосов
/ 03 октября 2018

Только что проверил ваш код, который вы должны объявить как

 public function getAvatarAttribute(){
   return $this->getAvatar();
   }

Атрибут вместо атрибута

...