Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
| инвентаризация:dev:model:fields [2024/10/15 09:29] – admin | инвентаризация:dev:model:fields [2025/09/21 07:40] (текущий) – admin | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| - | {{tag> | + | {{tag> |
| ====== Инвентаризация: | ====== Инвентаризация: | ||
| Описание атрибутов модели делаем в одной функции: | Описание атрибутов модели делаем в одной функции: | ||
| <code php> | <code php> | ||
| - | public $parentAttr=' | + | |
| + | public static $title=' | ||
| + | |||
| + | /** @var string как называется список моделей (для страницы Index) */ | ||
| + | public static $titles=' | ||
| + | |||
| + | /** @var string надпись на кнопке создания нового объекта в списке */ | ||
| + | public static $addButtonText=' | ||
| + | |||
| + | /** @var null|string подсказка для кнопки создания нового объекта */ | ||
| + | public static $addButtonHint=null; | ||
| + | |||
| + | /** @var string Префикс для страницы Create (Новый $title) */ | ||
| + | public static $newItemPrefix=' | ||
| + | |||
| + | | ||
| public function attributeData() { | public function attributeData() { | ||
| return [ | return [ | ||
| [' | [' | ||
| + | // | ||
| + | // - form (заполнение) поиск значений: | ||
| + | // - view (просмотр) поиск значений: | ||
| + | // - grid (заголовок в таблице) поиск значений: | ||
| + | // - search (заголовк в таблице с фильтром) значение: | ||
| + | // - api (формирование документации) поиск значений: | ||
| + | // | ||
| // | // | ||
| ' | ' | ||
| // | // | ||
| ' | ' | ||
| - | | + | |
| + | // | ||
| // | // | ||
| + | // | ||
| ' | ' | ||
| // | // | ||
| - | ' | + | |
| + | // | ||
| + | | ||
| + | // | ||
| + | ' | ||
| + | ' | ||
| + | ' | ||
| + | .'< | ||
| + | // | ||
| + | //если отсутствует, | ||
| + | ' | ||
| + | // | ||
| + | // | ||
| + | //если отсутствует, | ||
| + | ' | ||
| + | //тип Input этого аттрибута в форме редактирования | ||
| + | // - boolean - да / нет (чекбокс) | ||
| + | // - toggle - это как boolean, но только для 0 и 1 есть свои названия, | ||
| + | // - radios - это как toggle, только значений может быть больше 2 | ||
| + | // - list - это как radios, только значений прям много и оформляется в виде dropdown | ||
| + | // - ntext - textarea (простой текст без форматирования с конвертацией nl -> <br> при рендере) | ||
| + | // - text - текст с форматированием (какой формат прописывается в параметрах) | ||
| + | // - date - дата | ||
| + | // - datetime - дата/ | ||
| + | // - ips - список IP | ||
| + | // - macs - список MAC | ||
| + | // - urls - список URL | ||
| + | // - link - одиночная ссылка | ||
| + | // - number - число (ввод через обычный input/ | ||
| + | // - string - обычный текст (по умолчанию) | ||
| + | ' | ||
| + | // | ||
| + | ' | ||
| //чем заполнить селектор в форме, если значение не введено | //чем заполнить селектор в форме, если значение не введено | ||
| ' | ' | ||
| //поле наследуемое (если не задано в этом объекте, | //поле наследуемое (если не задано в этом объекте, | ||
| ' | ' | ||
| - | //поле является ссылкой на объекты с обратной | + | //атрибут только для чтения (updated_at, |
| - | //при наличии | + | ' |
| - | //иначе в объектах ссылающихся на нас | + | //атрибут только для записи |
| - | //(если не объявлять явно, определяется из $linkSchema | + | 'writeOnly'=>true, |
| - | 'is_reverseLink'=false, | + | |
| //при вызове функции absorb это поле нужно поглощать из переданного объекта | //при вызове функции absorb это поле нужно поглощать из переданного объекта | ||
| // - false - нет (по умолчанию для полей - "не обратных ссылок" | // - false - нет (по умолчанию для полей - "не обратных ссылок" | ||
| Строка 31: | Строка 86: | ||
| // - true - да (по умолчанию для полей, являющихся обратными ссылками) | // - true - да (по умолчанию для полей, являющихся обратными ссылками) | ||
| ' | ' | ||
| + | //что нужно заджойнить при отображении этого атрибута в списке (для жадной загрузки + поиск) | ||
| + | ' | ||
| ], | ], | ||
| ' | ' | ||
| Строка 41: | Строка 98: | ||
| * ' | * ' | ||
| * Service:: | * Service:: | ||
| - | * ' | + | * ' |
| - | | + | |
| - | * 'user_id' | + | |
| - | * Users::class, | + | |
| - | * ' | + | * ' |
| + | * ' | ||
| * ], | * ], | ||
| * ]; | * ]; | ||