Laravel Nova:如何仅在更新资源时隐藏字段

Laravel Nova: How to hide fields only when updating the resource

我知道我可以使用 canSee 方法隐藏一些字段:

Text::make('Something')
    ->canSee(function ($request) {
        return $request->user()->can('some ability');
    }),

并且从 documentation 开始,有一个 canSeeWhen 方法可以根据用户的能力隐藏字段:

canSeeWhen('viewProfile', $this);

但是这些方法适用于所有情况,例如,如果我在字段上定义 canSee 方法,则该字段在索引、详细信息、创建和更新页面上是不可见的。

我想在用户编辑资源时隐藏一些字段。

我该怎么做?

我明白了。您可以使用 hideWhenUpdating 方法。

Text::make('Something')->hideWhenUpdating();

其他方法有:

hideFromIndex
hideFromDetail
hideWhenCreating
hideWhenUpdating
onlyOnIndex
onlyOnDetail
onlyOnForms
exceptOnForms