В Laravel все в БД должно быть сущностями? Вот у меня есть модель User. User может иметь несколько привязок к аккаунтам соцсетей. Сайт может поддерживать пока 3 соцсети. Для привязок храню в таблице users_socials такие данные - user - service(enum) - id_in_service. Так вот, из-за того, что соцсетей мало (их всего 3) я использую enum а не создаю для каждой соцсети строку в отдельной таблице. Это правильно? Или надо создать отдельную модель Social и с помощью relations соединить соцсеть и юзера? Не накажет меня Тэйлор за это?

21 Авг 2019 в 07:01
166 +1
0
Ответы
1

В Laravel нет строгих правил относительно того, как организовывать структуру базы данных. Однако, в целом, хорошей практикой считается создание отдельной модели для каждой "сущности" данных.

В вашем конкретном случае, если количество соцсетей ограничено и они имеют похожую сущность, то использование enum в таблице users_socials может быть приемлемым решением. Однако, если вы планируете в будущем добавить больше соцсетей или они имеют больше различий, то более удобным решением может быть создание отдельной модели Social.

Также, если вы хотите использовать функционал Laravel Eloquent для работы с данными соцсетей, то создание отдельной модели и связывание ее с моделью User через relations может упростить вашу работу с данными.

В итоге, выбор между использованием enum и созданием отдельной модели зависит от ваших конкретных потребностей и планов на развитие проекта. Тэйлор Отвелл, создатель Laravel, не "накажет" вас за использование enum в этом случае, но важно помнить о возможных последствиях при дальнейшем масштабировании проекта.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 84 348 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир