em đang làm chức năng login cho một dự án Laravel 10.
em chạy thì nó luôn báo lỗi là không tìm thấy trong khi dữ liệu thì là trùng khớp.
sau một hồi chỉnh sửa thì em nhận ra query của nó là
select * from ‘accounts’ where ‘username’ = ‘data’
câu lệnh này chạy trong phpmyadmin thì không ra kết quả.
nhưng nếu sửa thành
select * from ‘accounts’ where username = ‘data’
thì nó sẽ ra. em không biết làm sao để nó bỏ cái ’ ’ đi. cả, đây là code ạ
public function authenticate(Request $request): RedirectResponse
{
$credentials = $request->validate([
'email' => ['required','email'],
//'username' => ['required'],
'password' => ['required'],
]);
//Auth::attempt([$credentials])->toSql();
if (Auth::attempt($credentials)) {
$request->session()->regenerate();
return redirect()->intended('/');
}
return back()->withErrors([
'email' => 'The provided credentials do not match our records.',
'username'=>'The provided credentials do not match our records.',
])->onlyInput('email');
}
update: em sửa được lỗi rồi ạ, chuyện hơi dài và vấn đề của em lại thuộc chuyện khác cơ, nên khi thay đổi cách tiếp cận vấn đề đó thì em không gặp lỗi này nữa