Des pro laravel ?

Chancla123
2022-01-18 16:49:38

J'ai un probleme les khey (je débute en dev)

Donc j'ai un site avec une balance et il y a possibilité de retirer des points de sa balance


$withdraw = new Withdraw();
$withdraw->user_id = Auth::id();
$withdraw->amount = $amount;
Auth::user()->decrement('balance', $amount);
$withdraw->save();
return redirect()->back();

Sauf que l'on peux retirer 2 fois de suite ( si c'est fait en meme temps ) des points de sa balance et la balance retourne avec une valeurs négatif donc

Je veux check si la valeurs de la balance est négatif avant le decrement et si elle est négatif pas donner suite a la requête

comment faire ?

lamia666
2022-01-18 16:52:25

un bete if. T'es sure que t'es qualifié pour le job? :(

Chancla123
2022-01-18 16:56:17

J'ai tenté


$withdraw = new Withdraw();
$withdraw->user_id = Auth::id();
$withdraw->amount = $amount;

if(Auth::user()->balance < 0) return Issue();

Auth::user()->decrement('balance', $amount);
$withdraw->save();
return redirect()->back();

Mais cela ne semble pas fonctionné

Chancla123
2022-01-18 17:07:09

Le 18 janvier 2022 à 16:52:25 :
un bete if. T'es sure que t'es qualifié pour le job? :(

Je débute

Chancla123
2022-01-18 17:07:56

Up :(

PrimitifCK
2022-01-18 17:08:21

Tu sais que balance peut changer entre la fin de ton if et ton decrement j'espère ? :hap:

Chancla123
2022-01-18 17:10:22

Le 18 janvier 2022 à 17:08:21 :
Tu sais que balance peut changer entre la fin de ton if et ton decrement j'espère ? :hap:

Guide moi :snif2:

Chancla123
2022-01-18 17:13:41

Up

PrimitifCK
2022-01-18 17:17:22

Je connais pas Laravel, mais si tu fais joujou avec des bases de données tu dois pouvoir utiliser des transactions

Infos
Gestion du forum

contact@geevey.com

API disponible. Utilisez le paramètre "api" en GET, peu importe le contenu, sur une page du site.

Notes

    Partenaire: JVFlux
    Ce site n'est pas associé à Jeuxvideo.com ou Webedia. Nous utilisons seulement des archives publiques.
    Il est inutile de me spammer par e-mail pour supprimer un topic. Au contraire, en conséquence, je mettrais votre topic dans le bloc ci-dessous.
Non-assumage
    Personne n'a pas assumé de topic pour le moment.