РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗ppflPmRlTt 82 of 141 menu
◀ ▶

Прикрепление записи в Filament

Давайте прикрепим чужую запись. К уже существующей метке можно привязать пост, не создавая новую строку в таблице меток. Смотрим на /admin/posts/1/edit.

Для belongsToMany заводят отдельный менеджер. В шапке его таблицы ставят AttachAction: человек выбирает запись из связанной таблицы, и pivot получает пару.

Создадим TagsRelationManager.php с колонкой имени и кнопкой прикрепления:

<?php namespace App\Filament\Resources\Posts\RelationManagers; use Filament\Actions\AttachAction; use Filament\Resources\RelationManagers\RelationManager; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; class TagsRelationManager extends RelationManager { protected static string $relationship = 'tags'; public function table(Table $table): Table { return $table ->columns([ TextColumn::make('name'), ]) ->headerActions([ AttachAction::make(), ]); } } ?>

На странице поста ресурс возвращает этот менеджер:

<?php namespace App\Filament\Resources\Posts; use App\Filament\Resources\Posts\RelationManagers\TagsRelationManager; use Filament\Resources\Resource; class PostResource extends Resource { public static function getRelations(): array { return [ TagsRelationManager::class, ]; } } ?>

На странице работника сделайте прикрепление уже существующего навыка.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить