Laravel Voyager,更新 1 table,更新另一个
Laravel Voyager, update on 1 table, update on another
- 语言:PHP
- 框架:Laravel
- 依赖项/库:Laravel航海者
我有 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;
}
});
}
}
- 语言:PHP
- 框架:Laravel
- 依赖项/库:Laravel航海者
我有 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;
}
});
}
}