如何在Laravel Nova中添加一个存储新资源的回调函数?

问题描述 投票:0回答:1

在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创建的.

php laravel laravel-nova
1个回答
0
投票

我能够用Nova最新版本的隐藏字段来实现这个功能, 然后只需使用普通的laravel观察者来检查更新时的字段.

© www.soinside.com 2019 - 2024. All rights reserved.