我正在使用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列,还是有其他方式将其放置在管理员需要的位置?
答案 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