Евгений Вольф, мне надо видеть все доступные пользователю поля (пока это вообще все, не знаю завязывать ли их с ролью, это на будущее).
Чтобы в личном кабинете эти поля выводить (и при редактировании пользователя в админке)
Евгений Вольф, не совсем понятно как именно описать вставку полей
вот у меня приходит запрос, где все поля - кастомные, т.е. у всех id+значение.
Я накидал такой громоздкий код в контроллере:
Получаю все возможные поля, прохожусь циклом, делаю проверки и либо создаю новое значение, либо заполняю старое. Код работает.
Но мне кажется это можно сделать проще и красивее, используя отношения.
Евгений Вольф, я таки не смог завязать поля между собой)
думал, что будет как в role__user простенько (относительно), но логика оказалась другой из-за того, что в Value еще надо заполнять поле value.
В ручную заполнять получается (проходясь по каждому полю в контроллере), но хотелось бы автоматии, чтобы создавать поля, а они сами заполнялись/изменялись.
Может в документации есть что-то? Я ничего такого не нашел в отношениях(
Евгений Вольф, суть не в реквесте, он самый обычный.
Обновил вопрос, добавил миграции для Field и Value.
Не знаю как еще объяснить задачу.
Создаются Value, которые содержат значение в себе значение и привязываются к User и Field.
И вот как написать код, чтобы оно заполнялось. Понятно, что можно отдельно для каждого поля добывать id, вставлять в экземлпяр Value, туда же user_id и туда же само значение.
Но это жеско, уверен, есть оптимизированный короткий код.
JhaoDa, отлично, написано техническим языком, понятным любому обывателю
И вправду, зачем программисту годы обучения технологии, когда можно просто прочитать документацию к фреймворку и все глубинные познания, описанные в свое время толстенными книгами ЧЕЛОВЕЧЕСКИМ языком, сами придут.
Особенно станут сразу ясны все ситуации где это можно использовать, это же документация.
Евгений Вольф, вторая практика мне нравится больше - от нее веет простотой (в использовании) и практичностью.
Только надо понять связи (буду тут рассуждать - мысли вслух).
Есть users с базовым набором полей: id, name, phone, password, role_id
Есть fields и там такой набор: id, name, user_id (если юзер заполнил это поле), role_id (чтобы ограничивать отображение инпутов для разных групп пользователей).
Есть values, и там id, value, field_id, ..?
Около 6-7 раз писал/переписывал, пытаясь понять, как завязать логику между таблицами)
Примерно так получается?
А вот по второму.
Я попробовал изучить и понять эту готовую систему, но как-то сложновато (я не очень в бекенде плаваю).
Потому решил делать ручками все, т.к. денег лишних на хорошего разработчика пока не водится.
И вот когда смогу нанять команду разрабов, хочу чтоб не было насрано в коде и логике)
В планах будут еще типы пользователей, и в итоге у разных пользователь пустуют разные столбцы - это ничего, что, например, у меня 20-30 столбцов в таблице USERS, из которых 100% у каждого юзера заняты 5-10, а остальные используются только у определенных типов юзеров?