РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
732 of 1392 menu

Метод markEmailAsVerified

Метод markEmailAsVerified применяется к объекту модели пользователя и отмечает его email-адрес как подтверждённый. Метод обновляет поля 'email_verified_at' текущей датой и временем, а затем сохраняет модель в базе данных. Метод возвращает true в случае успешного обновления.

Синтаксис

<?php $user->markEmailAsVerified(); ?>

Пример использования с аутентифицированным пользователем

Давайте отметим email текущего аутентифицированного пользователя как подтверждённый:

<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class VerificationController extends Controller { public function verify(Request $request) { $user = Auth::user(); if ($user->markEmailAsVerified()) { return response()->json(['message' => 'Email successfully verified.']); } return response()->json(['error' => 'Verification failed.'], 400); } } ?>

Пример с проверкой перед подтверждением

Перед отметкой email как подтверждённого рекомендуется проверить, не подтверждён ли он уже:

<?php namespace App\Http\Controllers; use App\Models\User; use Illuminate\Http\Request; class EmailVerificationController extends Controller { public function confirm(Request $request, User $user) { if ($user->hasVerifiedEmail()) { return response()->json(['error' => 'Email already verified.'], 400); } if ($user->markEmailAsVerified()) { return response()->json(['message' => 'Email successfully verified.']); } return response()->json(['error' => 'Verification failed.'], 400); } } ?>

Пример в контроллере регистрации

Метод часто используется в процессе регистрации для автоматического подтверждения email, если верификация не требуется:

<?php namespace App\Http\Controllers; use App\Models\User; use Illuminate\Http\Request; use Illuminate\Support\Facades\Hash; class RegisterController extends Controller { public function register(Request $request) { $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => Hash::make($request->password), ]); $user->markEmailAsVerified(); return response()->json(['message' => 'User registered and email verified.']); } } ?>

Результат выполнения кода:

"User registered and email verified."

Смотрите также

  • метод hasVerifiedEmail,
    который проверяет, подтверждён ли email пользователя
  • метод notify,
    который отправляет уведомление пользователю
  • класс User,
    который представляет модель пользователя
  • фабрика auth,
    которая возвращает экземпляр аутентификатора
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить