Сохранить массив пар ключ-значение в MySQL-DB

#php #mysql #laravel #eloquent

#php #mysql #ларавель #красноречивый

Вопрос:

Для веб-сайта, над которым я сейчас работаю, я создал форму для добавления компетенций в таблицу компетенций, но теперь мне нужно показать, какой отдел в какой степени охватывает какие компетенции.

Моя идея заключается в том, чтобы добавить массив пар ключ-значение в каждый отдел. Для ключа я думал использовать пользовательскую компетенцию-nr (например, A1.1), а для значения целое число 0, 1 или 2 (вообще не покрыто, частично покрыто, полностью покрыто). Как я могу добавить массив ключ-значение в таблицу в Laravel и как я могу убедиться, что при каждом создании новой компетенции он также добавляется в каждый отдел.

Заранее спасибо за ваше время и помощь.

Комментарии:

1. Вы можете преобразовать этот массив в строку JSON, а затем сохранить его как текст в поле DB

2. Я бы рекомендовал нормализовать ваши таблицы. Создайте таблицу «department_competence» со столбцами: competence_id, department_id, value где вы добавляете строку для каждой компетенции / отдела. Затем вы можете выполнять надлежащие запросы к этой информации.

3. @MagnusEriksson то есть вы имеете в виду таблицу соединений из-за отношения m: n?

4. Да, это правильно.

5. Спасибо за помощь. Я совсем новичок в SO. Есть ли способ пометить комментарий как принятый ответ?