cari

Rumah  >  Soal Jawab  >  teks badan

Kemas kini data berangka dalam dua baris menggunakan Laravel MySQL

Saya mempunyai jadual butiran dengan bilangan baris dalam pangkalan data saya.

Lihat gambar di bawah. Terbahagi kepada dua baris, terdapat 1250, 1250 rupee dalam satu lajur. Saya menunjukkan sejumlah 2500. Tetapi apabila pengguna ingin menggunakan jumlah penuh saya ingin mengemas kini data dalam dua lajur, bagaimana untuk mengemas kini dua baris ini dalam 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粉161939752P粉161939752340 hari yang lalu364

membalas semua(1)saya akan balas

  • P粉642436282

    P粉6424362822024-02-18 09:34:07

    Saya tidak tahu semua butiran kotak penggunaan anda (seperti cara anda mendapatkan 用户jumlah terpakai), namun, satu cara untuk menyelesaikan masalah anda digariskan di bawah. < /p>

    Saya mencipta lajur Wallet 模型和关联表,并在其上定义了一个 used untuk contoh ini untuk mewakili jumlah yang digunakan, dan lajur selebihnya< /代码> yang serupa. Jelas sekali, anda boleh menggantikannya dengan maklumat khusus anda.

    $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. Mula-mula, kami menjalankan pertanyaan untuk 用户used字段值进行求和SUM (jumlah)
    2. nilai medan
    3. digunakan untuk $remaining tertentu
    4. Seterusnya, kami mengira jumlah
    5. $baki dengan menolak jumlah yang digunakan (1500 dalam contoh anda) daripada jumlah yang diperoleh dalam langkah 1用户每一行的剩余
    6. Akhir sekali, kami mengemas kini
    bakilajur

    untuk setiap user_id 只是一个示例,但您可以使用 transaction idbaris yang diberikan dalam jadual

    🎜Seperti yang dinyatakan di atas, terpulang kepada anda bagaimana untuk mendapatkan baris yang berkaitan daripada jadual, menggunakan 🎜user_id hanyalah contoh, tetapi anda boleh menggunakan 🎜transaction id atau apa sahaja yang masuk akal untuk kes penggunaan anda . 🎜

    balas
    0
  • Batalbalas