Mettre à jour les données numériques sur deux lignes à l'aide de Laravel MySQL
P粉161939752
P粉161939752 2024-02-17 18:43:50
0
1
315

J'ai un tableau de détails avec le nombre de lignes dans ma base de données.

Voir photo ci-dessous. Divisé en deux lignes, il y a 1250, 1250 roupies dans une colonne. J'ai montré un total de 2500. Mais lorsque l'utilisateur souhaite utiliser le total complet, je souhaite mettre à jour les données dans deux colonnes, comment mettre à jour ces deux lignes dans Laravel ?

$wallet_details = tbl_wallet_detail::where('wd_parent_id', $usewallet->wm_id)
    ->whereMonth('tbl_wallet_details.wd_start_date', date('m'))
    ->whereYear('tbl_wallet_details.wd_start_date', date('Y'))->first();

$wallet_details->wd_used_amount = $wallet_details->wd_used_amount + $request->usewallet;
$wallet_details->wd_remaining_amount = $wallet_details->wd_remaining_amount - $request->usewallet;
$wallet_details->save();

P粉161939752
P粉161939752

répondre à tous(1)
P粉642436282

Je ne connais pas tous les détails de votre cas d'utilisation (comme la façon dont vous obtenez le 用户montant utilisé), cependant, une façon de résoudre votre problème est décrite ci-dessous.

J'ai créé une colonne Wallet 模型和关联表,并在其上定义了一个 used pour cet exemple pour représenter le montant utilisé, et une colonne restante similaire. Évidemment, vous pouvez les remplacer par vos informations spécifiques.

$wallet = \App\Models\Wallet::where('user_id', 1)
    ->selectRaw('sum(used) as total')
    ->groupBy('used')
    ->first();

$remaining = $wallet->total - 1500;

\App\Models\Wallet::where('user_id', 1)
    ->update([
        'remaining' => $remaining / $wallet->count()
    ]);
  1. Tout d'abord, nous exécutons la requête sur 用户used字段值进行求和SUM (total)
  2. les valeurs de champ
  3. utilisées pour un $remaining donné
  4. Ensuite, nous calculons le montant de
  5. $restant en soustrayant le montant utilisé (1500 dans votre exemple) du total obtenu à l'étape 1用户每一行的剩余
  6. Enfin, nous mettons à jour les
colonnesrestantes

pour chaque user_id 只是一个示例,但您可以使用 transaction idligne donnée dans le tableau

🎜Comme mentionné ci-dessus, c'est à vous de décider comment obtenir les lignes pertinentes du tableau, en utilisant 🎜user_id n'est qu'un exemple, mais vous pouvez utiliser 🎜transaction id ou tout ce qui a du sens pour votre cas d'utilisation. . 🎜
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal