【发布时间】:2022-05-09 11:59:32
【问题描述】:
我有模型 Model1,我想在保存时更新特定列的排名。
protected static function boot()
{
parent::boot();
static::saved(function ($model) {
$service = new Service();
$service->updateRank($model->id);
});
}
我在保存的里面放了一个日志。但它没有被调用
【问题讨论】:
-
您确定有问题的更新不会碰巧重新应用已经存在的数据吗?如果是,Eloquent 将忽略它并且不会触发“已保存”事件。查看
Illuminate\Database\Eloquent\Model::save()。finishAndSave()调用负责触发事件,但如果$saved标志不是true,则不会发生这种情况。