Формы в Filament
Новую запись в базе часто добавляют через экран с полями, а уже сохранённую правят на похожем экране. Такой экран открывается по адресу /admin/posts/create. В Filament его собирают из отдельных элементов, а не из ручной вёрстки каждого поля.
Форма - это интерфейс создания и правки одной записи модели. Страница создания даёт пустые поля и сохраняет новую строку в таблице. Страница правки подставляет в те же поля значения из базы и записывает изменения обратно. Оба экрана опираются на одно и то же описание полей.
Описание лежит в классе схемы
формы ресурса, например
PostForm.php. Верхний уровень
схемы задаёт метод
components: внутри
перечисляют поля, которые
увидит человек на экране.
Каждое поле формы связано
с атрибутом модели. Имя в
make у компонента
указывает, какой столбец
читается при открытии записи
и куда попадёт значение при
сохранении. Модель остаётся
источником правды о данных,
форма только показывает их
и принимает ввод.
Ресурс подключает схему к страницам создания и правки. Человек не выбирает отдельный шаблон для каждого действия: один набор полей обслуживает оба сценария. Если поле убрать из схемы, оно исчезнет и при создании, и при правке.
Filament даёт готовые компоненты полей. Их настраивают цепочкой методов на одном объекте, не рисуя HTML вручную. Так форма остаётся единым местом, где видно, какие данные модели можно менять из панели.
Со всем этим мы и будем разбираться в рамках данного раздела.