J'essaie de mettre à jour la colonne updated_at
à l'heure actuelle, chaque fois qu'un utilisateur se connecte.
Mais j'obtiens l'erreur suivante:
InvalidArgumentException Une année à quatre chiffres est introuvable. Données manquantes.
PHP
$input = Input::all();
$remember = (Input::has('remember')) ? true : false;
$auth = Auth::attempt([
'username' => $input['username'],
'password' => $input['password'],
'active' => 1
],$remember
);
if ($auth)
{
$user = Auth::user();
$user->updated_at = DB::raw('NOW()');
$user->save();
if ($user->userType==1)
{
return Redirect::intended('admin');
}
elseif ($user->userType==2)
{
return Redirect::intended('corporate');
}
elseif ($user->userType==3)
{
return Redirect::intended('trainer');
}
elseif ($user->userType==4)
{
return Redirect::intended('user');
}
}
Vous pouvez utiliser la méthode Eloquent touch()
pour cela:
//instead of
$user->updated_at = DB::raw('NOW()');
$user->save();
// simply this:
$user->touch();
Pour l'un, je n'utiliserais pas la colonne updated_at car c'est le nom d'horodatage par défaut.
Vous seriez mieux avec last_login
Et utilisez simplement la méthode PHP date.
$user->updated_at = date('Y-m-d G:i:s');
J'espère que cela t'aides.
Je pense que vous attribuez accidentellement une valeur au lieu d'utiliser la syntaxe de tableau. par exemple:
Model::create([
'key'='val'
]);
au lieu de:
Model::create([
'key'=>'val'
]);