Рекомендуемый способ получения аутентифицированного пользователя указан в документации .
Строка:
$user = auth()->user();
Должно быть:
$user = Auth::user();
И не забудьте использовать класс Auth:
use Illuminate\Support\Facades\Auth;
Объяснение:
Методы auth()
или user()
недоступны в вашем текущем контексте, поэтому почему $user
будет null
, если ни один из них не был найден.
Редактировать:
Аутентификация также вернет ноль, если ни один пользователь не аутентифицирован, вы должны следовать документации, предоставленной ниже, для ее реализации. Затем вы можете обезопасить свои маршруты .
Обычно у вас есть два варианта:
a) Добавить промежуточное ПО в спецификации маршрута:
Route::resource('phones' , 'PhoneController')->middleware('auth');
b) Добавить промежуточное ПО в конструкцию класса (рекомендуется для контроллеров)
public function __construct()
{
$this->middleware('auth');
}
После этого, если нет аутентифицированного пользователя, доступ будет ограничен.