Как добавить столбцы в базу данных динамически в laravel 5.6

Я работаю над CRM на Laravel 5.6 и MySQL, в моей клиентской части мне интересно, что администратор может добавить столько столбцов, сколько ему нужно, в базу данных.

Например, у клиента может быть от 2 до 20 телефонов.

Как я могу добавить это динамически со значком плюса на передней панели для генерации входных данных, или я должен сохранить все в одном столбце с длинным текстом?

Еще один вопрос: что мне делать с запросами AJAX во внешнем интерфейсе, или jQuery выполнит эту работу?

Schema::create('clients', function (Blueprint $table) {
        $table->increments('id');
        $table->text('title');
        $table->longText('description');
        $table->integer('fax');
        $table->text('adrress');
        $table->integer('telephone1');
        $table->integer('telephone2');
        $table->integer('telephone3');
        $table->integer('telephone4');
        $table->timestamps();
    });

Вот моя миграция, и, если быть более точным, мне интересно знать, что я должен сделать 20 столбцов до telephone20 или есть какой-либо другой способ разместить их столько, сколько нужно админу?

Почему бы просто не сделать еще один стол для телефонов?

TJ Wolschon 24.05.2018 18:48

это может быть решением, но как я могу установить число динамически? или я вообще могу это сделать?

Farshad 24.05.2018 19:12
en.wikipedia.org/wiki/One-to-many_(data_model)
TJ Wolschon 24.05.2018 19:13
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
71
1

Ответы 1

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

например, таблица с именем client_info содержит поля id,client_id,key,value:

id | client_id | key          | value
-------------------------------------------------------------
 1 | 1         | phone_number | +98654123654
 2 | 1         | address      | 9 York Dr. Lorain, OH 44052
 3 | 2         | email        | [email protected]
 4 | 1         | email        | [email protected]

Другие вопросы по теме