<? phpukraine ДОКУМЕНТАЦІЯ
⌕Пошук по платформі
Документація українською

Переклад офіційної документації українською. Кожен розділ показує стан готовності: недоперекладене позначене відкрито, а не приховане.

ВЕРСІЯ
АКТУАЛЬНА Актуальний реліз. Переклад наздоганяє оригінал, розділи з низьким відсотком позначені у змісті.
РЕСУРСИ · ПЕРЕКЛАДЕНО оновлено 1 жовтня 2026

Видалення записів · Filament

Робота зі мʼяким видаленням

Створення ресурсу з мʼяким видаленням

Типово видалені записи недоступні для взаємодії в застосунку. Якщо потрібна можливість відновлювати, остаточно видаляти й фільтрувати записи в кошику, додайте прапорець --soft-deletes під час генерації ресурсу:

php artisan make:filament-resource Customer --soft-deletes

Додавання мʼякого видалення до наявного ресурсу

Так само мʼяке видалення можна додати до ресурсу, який уже існує.

Спершу оновіть сам ресурс:

use Filament\Actions\BulkActionGroup;
use Filament\Actions\DeleteAction;
use Filament\Actions\DeleteBulkAction;
use Filament\Actions\ForceDeleteAction;
use Filament\Actions\ForceDeleteBulkAction;
use Filament\Actions\RestoreAction;
use Filament\Actions\RestoreBulkAction;
use Filament\Tables\Filters\TrashedFilter;
use Filament\Tables\Table;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\SoftDeletingScope;

public static function table(Table $table): Table
{
    return $table
        ->columns([
            // ...
        ])
        ->filters([
            TrashedFilter::make(),
            // ...
        ])
        ->recordActions([
            // Ці дії можна додати до таблиці, якщо ви використовуєте простий
            // ресурс або просто хочете мати можливість видаляти записи, не
            // покидаючи таблицю.
            DeleteAction::make(),
            ForceDeleteAction::make(),
            RestoreAction::make(),
            // ...
        ])
        ->toolbarActions([
            BulkActionGroup::make([
                DeleteBulkAction::make(),
                ForceDeleteBulkAction::make(),
                RestoreBulkAction::make(),
                // ...
            ]),
        ]);
}

public static function getRecordRouteBindingEloquentQuery(): Builder
{
    return parent::getRecordRouteBindingEloquentQuery()
        ->withoutGlobalScopes([
            SoftDeletingScope::class,
        ]);
}

Тепер оновіть клас сторінки редагування, якщо він у вас є:

use Filament\Actions;

protected function getHeaderActions(): array
{
    return [
        Actions\DeleteAction::make(),
        Actions\ForceDeleteAction::make(),
        Actions\RestoreAction::make(),
        // ...
    ];
}

Видалення записів на сторінці списку

Типово в таблиці доступне масове видалення записів. Можливо, ви також захочете видаляти окремі записи за допомогою DeleteAction:

use Filament\Actions\DeleteAction;
use Filament\Tables\Table;

public static function table(Table $table): Table
{
    return $table
        ->columns([
            // ...
        ])
        ->recordActions([
            // ...
            DeleteAction::make(),
        ]);
}

Авторизація

Для авторизації Filament враховує будь-які політики моделей, зареєстровані у вашому застосунку.

Користувачі можуть видаляти записи, якщо метод delete() політики моделі повертає true.

Вони також мають змогу масово видаляти записи, якщо метод deleteAny() політики повертає true. Filament використовує метод deleteAny(), бо перебирати кілька записів і перевіряти політику delete() для кожного не надто продуктивно.

Щоб перевірити політику delete() для кожного запису окремо, скористайтеся методом authorizeIndividualRecords() на BulkDeleteAction.

Авторизація мʼякого видалення

Метод політики forceDelete() забороняє остаточне видалення окремого мʼяко видаленого запису. forceDeleteAny() забороняє масове остаточне видалення записів. Filament використовує метод forceDeleteAny(), бо перебирати кілька записів і перевіряти політику forceDelete() для кожного не надто продуктивно.

Метод політики restore() забороняє відновлення окремого мʼяко видаленого запису. restoreAny() забороняє масове відновлення записів. Filament використовує метод restoreAny(), бо перебирати кілька записів і перевіряти політику restore() для кожного не надто продуктивно.

Стан перекладу

Перекладаємо з офіційної документації, розділ за розділом, і не ховаємо недоперекладене. Помітили неточність у терміні чи реченні: напишіть, виправимо.

47%
Готовності
0
У роботі
17
Ще не перекладено
Глосарій термінів