А если просто where('email', '=', strtolower($request->email))
Тут должно быть условие ИЛИ, а не И
а где у меня условие и? 🙈
Скинь какой код получился
а что ты тут вообще делаешь? если ты пишешь такой запрос, то и LOWER в колонке используй. а я про то что бы в prepare форм реквеста к нижнему привести
$request->validate([ 'name' => ['required', 'string', 'max:255'], // 'email' => ['required', 'string', 'email', 'max:255', 'unique:users,email'], 'email' => ['required', 'string', 'email', 'max:255', Rule::unique(User::class)->where(fn ($query) => $query->where('email', '=', strtolower($request->email)))], 'password' => ['required', 'confirmed', Rules\Password::defaults()], ]); $user = User::create([ 'name' => $request->name, 'email' => strtolower($request->email), 'password' => Hash::make($request->password), ]);
$query->where('email', '=', strtolower($request->email))) ок, ты привел к нижнему. а в бд с верхним.
Rule::unique(User::class)->where('email', '=', strtolower($request->email))
так должно быть
зачем strtolower у тебя postgree или поле бинарное
Первое дефолт условие от самого правила, потом ещо твоё условие с нижним регистром
Обсуждают сегодня