Comment faire pour incrémenter d'une colonne à l'aide de Éloquent Modèle dans Laravel 4

Je ne suis pas sûr de savoir comment augmenter la valeur dans une colonne à l'aide Éloquent Modèle dans Laravel 4?
C'est ce que j'ai actuellement et je ne suis pas sûr de savoir comment corriger cela.

$visitor = Visitor::where('token','=','sometoken')->first();
if(isset($visitor)){
    $visitor->increment('totalvisits');
}else{
    Visitor::create(array(
    'token'=>'sometoken',
    'totalvisits'=>0
    ));
}

Avec le Générateur de Requêtes que nous pourrions faire à l'aide de

DB::table('visitors')->increment('totalvisits');
Votre code fonctionne très bien sur ma fin, est-il rien de plus que ce que vous avez posté?
Devrais-je appeler la méthode save après l'incrémentation méthode est appelée?
Vous n'avez pas besoin de la 'increment' méthode, car il est vraiment destiné à être utilisé sur une requête où vous n'auriez pas à faire des économies par la suite. Vous pouvez également aller $utilisateur->totalvisits = $utilisateur->totalvisits + 1; $utilisateur->save();
Je ne pense pas que Éloquent de l'incrément est atomique. Donc, à partir de l'heure de votre requête pour le visiteur et puis il se couche, il peut avoir été modifié par un autre visiteur. Si votre nombre de visiteurs sera inférieur à ce qu'il devrait être.
Je ne suis pas sûr si Laravel 4 était différent, mais en 5.3, qui je suis en ce moment, le increment méthode semble être atomique: $columns = array_merge([$column => $this->raw("$wrapped + $amount")], $extra); return $this->update($columns);

OriginalL'auteur Abishek | 2013-05-16