@kirill-93

Как правильно организовать проверку?

Всем привет, есть такая структура:
-> Магазин
-> Отдел
-> Каталог
-> Товар
-> Параметры товара
Все это пользователь поэтапно создает, и каждая сущность зависит от вышестоящей:
У магазина есть поле user_id, у отдела поле shop_id и тд.
Как проще всего организовать проверку на принадлежность сущности пользователю, который пытается ее редактировать/удалить? Прямая связь с пользователем есть только у магазина, чтобы проверить все остальные, нужно идти вверх по цепочке до магазина, и уже у него сверять.
Вариант каждой сущности записывать id пользователя мне кажется не совсем красивым.
Как бы сделали вы?
  • Вопрос задан
  • 121 просмотр
Решения вопроса 1
не уверен, что правильно понял тебя, но вроде ты хочешь конструкцию вроде этого?!
if( user->getId() == paremetrZakaza->getTovar()->getCatalog()->getOtdel()->getMagazin()->getUser->getId()){
     //проверка успешна
} else {
    //проверка не успешна
}


для этого тебе нужна двунаправленная ассоциация в твоих моделях
взгляни сюда

Надеюсь помог)))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@synapse_people
нормальная база данных и ORM сами все организуют.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Таблица Locks: [id][table_id][row_id][owner_id][status][*наименование раздела*][*наименование сущности*]
То, что со звёздочками: там или ID, или текст. Все зависит от структуры сущностей и сферы применения таблицы Locks.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы