@Netroman

Laravel разделение пользователей по правам?

На сайте есть две категории пользователей: А и Б (еще админ, но не в счет). Некоторые страницы ЛК одинаковые для всех, а в некоторых функции отличаются, где-то вид другой (что-то добавлено, убрано) и т.д.. Еще у них разные поля в профиле есть, у стороны А поля одни, а у Б - такие же, только + еще парочку.
1) При регистрации можно выбрать сторону А или Б. Вопрос нужно ли для этого разделять и делать две табоицы для А и Б (ведь все это пользователи) или просто сделать "СТАТУС" поле в users таблице и вносить туда А или Б. Тогда как в таком случае быть с полями которые есть у Б, но нет у А и наоборот?
.. Но если разделить то при автрризации прийдется проверять сразу 2 таблицы..
2) Как тогда делать вывод страниц для этих сторон. К примеру у них ращные меню и какой-то функционал другой.. (.. Догадка: проверять в контроллере статус и выводить соответствующий вид для каждой из сторон. На тех страницах, гле это надо.)
Можете пожалуйста подсказать как бы вы поступили с вопросами 1,2?
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
aleksejjjj
@aleksejjjj
Не статус а роль. Никаких 2-х таблиц вам точно не нужно. В простейшем случае добавляете поле role в таблицу users, для более сложных можно подключать сторонние решения например zizaco/entrust или spatie/laravel-permission

А вывод данных от отличий напрямую зависит. Для каких-то возможно раздельные контроллеры понадобятся, а где-то достаточно во вьюхе роль проверить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Kostik_1993
PHP Backend Developer, Laravel, Yii, Vue, Node.js
Аааааа, читаю пятый подряд вопрос и ааааааа!!!!! Ребята ну осталось немного лета перед школой, потратьте его с пользой для здоровья, ну емае, хватит сидеть за компьютером и глупые вопросы задавать.

Нет не нужно таких пользователей по таблицам делить, да их можно отделить полем type, можно роли добавить и привилегии. Как с полями быть, да хрен его знает как быть, ты же разработчик, ты выбрал этот путь, вот сиди и ковыряй. Можешь в таблице их прописать и просто не заполнять, можешь EAV подключить себе чтобы сдохнуть от количества вопросов которые придется задать. Как выводить? Ну есть же if в php, да и в других языках он есть.
Парень выше не поленился и привел пример вам
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы