В настоящее время я работаю над функцией "настраиваемых полей" для моего приложения Laravel.
Что он должен делать
Каждый CustomField
должен редактироваться пользователем.CustomField
может иметь type
(string
, int
, ...) и value
.
Теперь созданные CustomField
s могут быть добавлены в другую модель (возможно: User
).
Ожидаемый результат
Значения настраиваемых полей должны вызыватьсяиспользуя что-то вроде $user->fields->company->value
Должно быть легко перебирать поля вроде этого: $user->fields()->each(...)
Моя проблема
Я не уверен, в какую сторону идтиКонечно, я мог бы просто создать модель с именем CustomField
и таблицу с
и сохранить ихв User
как JSON ($user->fields
будет иметь тип JSON
).Но я не уверен, является ли это лучшим способом, потому что я также хотел бы сделать поля для поиска позже.Так, может быть, Pivot это путь?Или даже morphToMany ?
Какой путь является наиболее подходящим для Laravel-стиля?
Спасибо за ваши мысли (и, может быть, 1-2 примера ;-))