Имеется сайт, на котором группы пользователей (т.н. роли) создаются и регулируются вручную в админке. В связи с чем не очень удобно для каждой роли помимо самого отображаемого названия придумывать ещё и уникальный ключ name.
> Есть какой-то адекватный вариант, как можно было бы заменить name на обычные айди с автоинкрементом?
> Да, и где можно хранить какую-то дополнительную инфу о ролях (например, цвет роли)? Предназначено ли поле data для подобных целей?
Как я понял, речь идёт об одной из стандартных таблиц auth_rule.
Нет, поле data для хранение дополнительной информации лучше не использовать, но добавить новые поля в саму таблицу - можно. Добавьте незамысловатое поле color, если нужно на скорую руку :-)
mayami14376, я бы, конечно, отнаследовался и реализовал свой класс, но вы, вероятно, пока учитесь?
Если нужно совсем-совсем по-быстрому, то новое свойство нужно добавить не только в таблицу, но и модель. Оно добавляется как новое свойство класса: public $format в вашем случае.
Классы, на которые нужно посмотреть, лежат тут:
endor/yiisoft/yii2/rbac
Вас, вероятно, заинтересуют файлы Rule.php и/или Role.php
Но ведь name является идентификатором, который используется в коде для проверки (can())
Вам удобнее будут магические числа ? Или константы?
Сделайте name слагом от названия