Я хочу хранить динамические атрибуты в базе данных.Doctrine: Как хранить динамические атрибуты
Пример: Некоторые пользователи хотят создать профиль с пользовательскими характеристиками. Это может быть возраст, хобби, работа, школа или что еще. Каждый пользователь может установить свой собственный характер. На стороне сервера это может выглядеть следующим образом:
$characteristics = array(
0 => array('age', 22),
1 => array('hobby', 'php'),
2 => array('food', 'pizza'),
);
С этой структурой, то можно считывать сам атрибут и значение также можно легко добавлять и удалять атрибуты.
Теперь я хочу хранить такие данные по доктрине.
Теперь вопрос, как я могу сделать это лучше всего:
- Упорство в массив
- JSON
- XML
- Другое?
Привет, я также планировал бы сделать массивы многоразовыми. Например, для некоторых метаданных это неплохо. Представьте, что вы хотите добавить некоторую подробную информацию к своим изображениям (местоположение, камера и т. Д.), Чем было бы хорошо, если бы эта структура была повторно использована. С массивами я просто могу удалить второе значение и сохранить структуру необработанного массива. Единственным препятствием является то, что весь процесс должен быть жестко закодирован. Но я не думаю, что есть лучшие способы ... – bodokaiser
Интересно, как поиск будет работать с этим? – mr1031011
@ mr1031011 это будет не очень хорошо, с пользовательскими атрибутами может быть лучше использовать отдельную поисковую систему (например, ElasticSearch), поскольку они могут хорошо обрабатывать документы с произвольными полями. –