嗨,我在 Laravel 中遇到了一个问题,这与我的数据库有关。
这是我的登录控制器:
class LoginController extends Controller
{
function index()
{
return view('login');
}
function checklogin(Request $request)
{
$this->validate($request, [
'name' => 'required',
'password' => 'required'
],
['name.required' => 'Gebruikersnaam is niet ingevuld of niet goed.', 'password.required' => 'Wachtwoord is niet ingevuld of niet goed.']);
$user_data = array([
'name' => $request->get('name'),
'password' => $request->get('password')
]);
if (Auth::attempt($user_data)) {
return redirect('login/succeslogin');
} else {
return back()->with('error', 'Verkeerde login gegevens!');
}
}
function succeslogin()
{
return view('succeslogin');
}
function logout()
{
Auth::logout();
return redirect('login');
}
}
这是我的登录模型:
class Login extends Model
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
/**
* The attributes that should be cast to native types.
*
* @var array
*/
protected $casts = [
'email_verified_at' => 'datetime',
];
}
这是 SQLSTATE 错误: sqlerror
当我这样做时会发生这种情况:
dd($user_data);
$user_data = array([
'name' => $request->get('name'),
'password' => $request->get('password')
]);
所以我在这里和那里尝试了一些东西,但到目前为止没有任何效果。 似乎它在某处制作了一个额外的数组,但我找不到它.. 有人知道如何解决这个问题吗?
答案 0 :(得分:0)
您正在将您的凭据数组包装在一个额外的数组中。删除额外的数组换行:
$user_data = [
'name' => $request->get('name'),
'password' => $request->get('password')
];