简体   繁体   English

如何在laravel中通过另一个表列更新自动更新一个表列

[英]how to automatically update one table column by another table column update in laravel

I have a WALLET table with a Balance Column & I have a PAYMENT table with a Price Column I want to automatically the WALLET BALANCE Column update When the PAYMENT PRICE Column is updated or NEW PAYMENT is Created.我有一个带有余额列的 WALLET 表,并且我有一个带有价格列的 PAYMENT 表我想在更新 PAYMENT PRICE 列或创建 NEW PAYMENT 时自动更新 WALLET BALANCE 列。 What Should I Do?我应该怎么办?

In laravel you can use Observers , please see this在 laravel 中你可以使用Observers ,请看这个

observer code sample:观察者代码示例:

<?php

namespace App\Observers;

use App\Models\Payment;

class PaymentObserver
{
    public function created(Payment $payment)
    {
        $wallet = $payment->wallet;
        $wallet->balance = $payment->price;
        $wallet->save();
    }

    public function updated(Payment $payment)
    {
        if($payment->wasChanged('price')){
            $wallet = $payment->wallet;
            $wallet->balance = $payment->price;
            $wallet->save();
        }
        
    }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM