Подскажите в чем разница между записями
Прошу помощи. php8, laravel8. Не могу понять в чем разница записей. Мой уровень ниже джуна, учусь.
$user = User::where('email', $request->email)->first();$user = Auth::user();
пользователь авторизован. В дампе получаю один и тот же объект в обоих случаях. в первом случае всё работает корректно, хотя код не очень логичный. Т.к. пользователь авторизован логичнее воспользоватся вторым способом получения пользователя.
$tokenResult = $user->createToken('authToken')->plainTextToken;
Проблема: во втором случае не работает метод createToken(). В первом случае всё ок. Объясните что к чему.
Ответы (1 шт):
В первом случае у Вас объект класса User а во втором Auth У них разный набор методов. Соответственно ->createToken() определён только в первом случае.
User::where
Auth::user
До :: это класс к которому Вы обращаетесь за статическим методом. Поэтому если нужен ->createToken() то нужен класс User