@volodyalesha86

Как в Laravel правильно записывать и хранить список данных?

Есть таблица users и есть модель User. В личном кабинете у каждого пользователя есть два списка данных, которые он может хранить и расширять, это список своих телефонов и коротких заметок.
Отсюда вопрос как в Laravel правильно записывать и хранить список данных?

Можно создать два столбца в таблице под именами phones и notes, и все списки хранить в них через запятую например для каждого пользователя и вынимать их через explode. Но как я понимаю это не совсем правильно? Ну и вопрос быстродействия и ресурсозатрат тоже важен.
Кто может подсказать, как правильно?
  • Вопрос задан
  • 338 просмотров
Решения вопроса 1
Fragster
@Fragster
помогло? отметь решением!
Зависит от того, как это используется. В любом случае в одной таблице с пользователем хранить не целесообразно, слишком много данных при каждом запросе читать. Остается выбор между one-to-one (id пользователя в качестве первичного ключа или уникального индекса и json поле с данными) и one-to-many (отдельный первичный ключ и неуникальный foreign индекс с id пользователя, в каждой строке отдельно по одной записи).
В этом случае логичнее (и удобнее для добавления/редактирования и прочего) будет вариант с one-to-many, но в некоторых случаях (не этот юзкейс, конечно) может подойти и one-to-one.
Советую полностью прочитать вот этот раздел в документации: https://laravel.com/docs/8.x/eloquent-relationships
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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