在Nova的ResourceStoreController.php中, 我可以看到这段代码:
$model = DB::transaction(function () use ($request, $resource) {
[$model, $callbacks] = $resource::fill(
$request, $resource::newModel()
);
if ($request->viaRelationship()) {
$request->findParentModelOrFail()
->{$request->viaRelationship}()
->save($model);
} else {
$model->save();
}
ActionEvent::forResourceCreate($request->user(), $model)->save();
collect($callbacks)->each->__invoke();
return $model;
});
从这行代码来看, 我应该可以设置一个回调函数:
collect($callbacks)->each->__invoke();
但我如何在Laravel Nova中为某个资源设置回调?
基本上, 我想在存储一个新的资源时触发一个事件或回调, 但只有当资源是通过nova创建的.
我能够用Nova最新版本的隐藏字段来实现这个功能, 然后只需使用普通的laravel观察者来检查更新时的字段.