Laravel Voyager,在一张桌子上更新,在另一张桌子上更新

时间:2018-09-21 01:00:54

标签: php database laravel web-applications voyager

  • 语言:PHP
  • 框架:Laravel
  • 依赖关系/图书馆:Laravel Voyager

我有3个数据库表:用户评论计划约会

用户可以保留许多计划,并且许多用户可以保留计划,因此,基本上,约会表是我关联实体,用于连接用户评论时间表表格

在我安装的Laravel Voyager中,约会表的状态列被标记为已付款/尚未付款

现在,每当管理员将状态更改为 PAID 时,我都希望从预约时间表中的广告位列 strong>表格应减少1或减少1,以从字面上标记用户已成功为评论计划支付了自己的广告位

我可以知道如何或在哪里添加这样的代码,以便当Laravel Voyager更新约会表时,我还可以更新评论时间表表吗?

非常感谢您!

1 个答案:

答案 0 :(得分:2)

实现此特定方案的典型方法是通过覆盖模型,您可以在模型中实现逻辑,我假设这是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;
            }    
            });
        }

    }