Единственный ресурс в Filament
Давайте откроем единственный ресурс. В приложении одна строка настроек кадров, а не таблица из многих вариантов. Экран правки откроется /admin/settings без промежуточного списка.
Страница EditSetting.php
наследует EditRecord.
В методе mount возьмём
единственную запись или создадим
пустую, если её ещё нет:
<?php
namespace App\Filament\Resources\Settings\Pages;
use App\Filament\Resources\Settings\SettingResource;
use App\Models\Setting;
use Filament\Resources\Pages\EditRecord;
class EditSetting extends EditRecord
{
protected static string $resource = SettingResource::class;
public function mount(): void
{
$this->record = Setting::query()->firstOrCreate([]);
$this->fillForm();
}
}
?>
В SettingResource.php
единственная страница регистрируется
как index на корне ресурса,
без маршрута списка:
<?php
namespace App\Filament\Resources\Settings;
use App\Filament\Resources\Settings\Pages\EditSetting;
use App\Models\Setting;
use Filament\Resources\Resource;
class SettingResource extends Resource
{
protected static ?string $model = Setting::class;
public static function getPages(): array
{
return [
'index' => EditSetting::route('/'),
];
}
}
?>
Пункт меню ведёт сразу на форму настроек. Пользователь сохраняет изменения на том же адресе, без перехода к таблице строк.
Сделайте экран одних настроек кадров, без списка строк.