Laravel Nova: как скрыть поля только при обновлении ресурса

Я знаю, что могу скрыть некоторые поля с помощью метода canSee:

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

А из документации есть canSeeWhen метод, с помощью которого вы может скрыть поле в зависимости от способностей пользователя:

canSeeWhen('viewProfile', $this);

Но эти методы работают для любой ситуации, например, если я определяю метод canSee для поля, это поле не отображается на страницах индекса, сведений, создания и обновления.

Я хочу скрыть некоторые поля, когда пользователь редактирует ресурс.

Как я могу это сделать?


person Pedram Behroozi    schedule 27.02.2019    source источник


Ответы (1)


Я понял. Вы можете использовать hideWhenUpdating метод.

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

Другие методы:

hideFromIndex
hideFromDetail
hideWhenCreating
hideWhenUpdating
onlyOnIndex
onlyOnDetail
onlyOnForms
exceptOnForms
person Pedram Behroozi    schedule 27.02.2019