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

Ресурсы в Filament

В админ-панели почти всё крутится вокруг записей в базе: посты, заказы, пользователи. Список постов открывается по адресу /admin/posts. Одна модель Eloquent описывает строку таблицы, а человеку нужны экраны, чтобы увидеть список, добавить запись и поправить уже существующую.

Ресурс - это описание таких экранов для одной модели. Он связывает модель с интерфейсом панели: что показать в списке, какие поля открыть в форме, по каким адресам ходить между экранами. У каждого ресурса появляется свой пункт в боковом меню панели.

Типичный ресурс покрывает три задачи. Список выводит строки модели таблицей на одной странице. Создание даёт пустую форму и сохраняет новую запись. Правка открывает ту же форму для уже сохранённой строки и записывает изменения обратно в базу.

Внутри ресурса работу делят между несколькими классами. Один класс ресурса регистрирует модель, страницы и связь с меню. Отдельно лежит описание формы: им собирают экран создания и экран правки. Отдельно - описание таблицы: им собирают список записей.

Filament не рисует эти экраны с нуля в каждом проекте. Пакет даёт готовый каркас страниц, а мы указываем, какие данные модели куда вывести. Модель и миграции остаются в Laravel, ресурс живёт в каталоге панели и описывает интерфейс для этой модели.

Когда в приложении несколько сущностей, для каждой заводят свой ресурс. Пункты меню складываются в набор экранов, но код одной модели не смешивается с другой: форма постов не тянет за собой поля заказов.

Со всем этим мы и будем разбираться в рамках данного раздела.

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