Магазин методов и сообщений не найден [LARAVEL] - PullRequest
0 голосов
/ 04 мая 2020

Я немного застрял на бэкэнде. PHPStorm говорит мне, что метод posts и store не существует, и я не знаю, какой способ go решить эту проблему ...

File PostController. php:

public function store(){
     $data = request()->validate([
            'caption' => ['required', 'string'],
            'image' => ['required', 'image']
        ]);

     $imagePath = request('image')->store('uploads','public');

     auth()->user()->posts()->create([
         'caption' => $data['caption'],
         'image' => $imagePath
         ]);

     return redirect()->route('profiles.show', ['user' => auth()->user()]);
    }

Файл Пользователь. php:

class User extends Authenticatable
{
    use Notifiable;

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

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

    /**
     * The attributes that should be cast to native types.
     *
     * @var array
     */
    protected $casts = [
        'email_verified_at' => 'datetime',
    ];

    public function getRouteKeyName()
    {
        return 'username';
    }

    public function profile(){
        return $this->hasOne('App\Profile');
    }
}

Произошла ошибка:

Top of error

Full error

Ответы [ 2 ]

1 голос
/ 04 мая 2020

У меня не было сообщений о взаимоотношениях в моем пользователе. php.

Итак, я добавил отношения следующим образом:

public function posts(){
        return $this->hasMany('App\Post');
    }
0 голосов
/ 04 мая 2020

попробуйте это:

Post::create([
   'caption' => $data['caption'],
   'image' => $imagePath
]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...