@kirill-93

Как правильно проверить принадлежность сущности?

Здравствуйте, есть такая структура: пользователь создает каталог, в нем товар, в нем какие-то уникальные для этого товара картинки, параметры и тп. Глубина этой цепочки может расти.
С пользователем связан только каталог (имеет поле user_id), товары уже привязаны к каталогу, картинки к товару и тп.
Вопрос: как при редактировании, например, параметра товара, проверять его принадлежность к нужному пользователю?
Проект на Laravel и сейчас я просто создал мидлвер, который по цепочке доходит до каталога и проверяет пользователя. Проблема в том, что до каталога нужно по разному добираться, в зависимости от того, что редактируется. Например, чтобы проверить товар, нужно получить его каталог, а у каталога получить пользователя, а чтобы проверить параметр, нужно получить товар -> каталог -> пользователь.
Получается простыня if-else, которую нужно дописывать каждый раз, если что-то добавляется. Например, если к параметрам товара будут добавляться параметры, то нужно будет еще одно условие.
Такой проблемы бы не было, если бы я указывал поле user_id у всех сущностей, но такой подход мне кажется неправильным.
Как в Laravel или как вообще в таких случаях осуществляют проверку?
Спасибо.
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Origihor
если бы я указывал поле user_id у всех сущностей, но такой подход мне кажется неправильным

Это называется денормализацией данных путем дублирования. Такой подход может упростить* вам процесс разработки и снизить нагрузку на бд.

*обеспечение актуальности поля user_id у сущностей полностью ложится на приложение
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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