Laravel Voyager,更新 1 table,更新另一个

Laravel Voyager, update on 1 table, update on another

我有 3 个数据库 table:用户评论时间表约会.

用户可以预订很多日程,日程可以被很多用户预订,所以基本上,Appointments table 是我连接 用户评论时间表tables

在我安装的 Laravel Voyager 中,Appointments table 有一列 status 标记为已付款/尚未付款

现在,每当管理员将 status 更改为 PAID 时,我想要 slots 列 预约时间表 table 递减或减少 1 以字面标记用户已成功支付 his/her 审核时间表的空位

我可以知道如何或在哪里可以添加这样的代码所以当 Laravel Voyager 更新 Appointments table 时,我也可以更新 审核时间表 table?

非常感谢!

实现此特定场景的典型方法是覆盖模型,您可以在您的模型中实现逻辑,我假设 App\ScheduleAppointments:

    namespace App;

    use Illuminate\Database\Eloquent\Model; 

    class ScheduleAppointments extends Model 
    {
        //Your model logic
        //
        //
        //
        //

    /**
     * OVERRIDE Boot Method
     */
        protected static function boot()
        {
            parent::boot();
            static::updating(function ($appointment) {
            if($appointment->status == 'PAID'){
                 $appointment->slot -=1;
            }    
            });
        }

    }