如何在laravel 5.6中动态添加colomns到数据库

时间:2018-05-24 16:38:45

标签: php mysql laravel

我正在使用Laravel 5.6和MySQL上的CRM,在我的客户端部分,我想管理员可以根据需要向数据库添加尽可能多的列。

例如,客户端可以有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();
    });

这是我的迁移,更确切地说,我想知道我应该在telephone20之前创建20列,还是有其他方式将其放置在管理员需要的位置?

1 个答案:

答案 0 :(得分:3)

我认为最好创建另一个表来保存动态字段。

例如,名为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        | MichaelKWarren@armyspy.com
 4 | 1         | email        | PhillipSOrtega@dayrep.com