Вызов функции-члена posts () на ноль - PullRequest
1 голос
/ 07 июля 2019

FatalThrowableError (E_ERROR) Вызов функции-члена posts () со значением null

Файл PostsController.php

$imagePath=(request('image')->store('upload','public'));
  $image=Image::make(public_path("storage/{$imagePath}"))->fit(1200, 1200);
  $image->save();

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

Ответы [ 3 ]

0 голосов
/ 07 июля 2019

Всегда помните, если ваш контроллер включает пользователей.Вы должны убедиться, что контроллер использует промежуточное ПО auth.Таким образом, если пользователь не вошел в систему, контроллер не будет создан, и пользователь будет перенаправлен на страницу входа.если вы не укажете это, вы можете столкнуться с этой ошибкой, потому что даже не прошедшие проверку пользователи могут получить доступ к контроллеру.И поэтому auth()->user() возвращает ноль.

public function __construct()
{
    $this->middleware('auth');
}

Кроме того, внимательно посмотрите на ваши one to many отношения между почтой и моделью пользователя

0 голосов
/ 07 июля 2019

Проверка аутентификации с помощью промежуточного программного обеспечения

public function __construct()
{
    $this->middleware('auth');
}

И использовать;

Auth::user()
0 голосов
/ 07 июля 2019

попробуйте сбросить

dd(auth()->user());

и посмотреть, вернется ли он, если вы в данный момент вошли в систему как пользователь.

Если не работает, попробуйте выйти из системы и снова войти в свое приложение.,Еще попробуйте:

Auth::user()

вместо

auth()->user()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...