为了账号安全,请及时绑定邮箱和手机立即绑定

前端传来的数据并不一定是10个,我希望解析出几个字段就向数据库添加几个字段,该怎么办?

前端传来的数据并不一定是10个,我希望解析出几个字段就向数据库添加几个字段,该怎么办?

PHP
无无法师 2017-06-16 16:30:26
前端传来的字符串以#号分割,传进来后explode把字符串分割成几个字段。再把这几个字符串写入数据库。namespace app\api\controller\v2;use app\api\model\LeaveMessage as LeaveMessageModel;class LeaveMessage{    public function RecordMessage($user_id='',$item_id='',$item_category='',$message=''){        //这个验证还不知道咋写        (new MessageValidate())->goCheck();        $message = explode('#',$message);        //接下来应该把结果写入才对,写入哪些表?        $dataArray = [            'user_id'=> $user_id,            'item_id'=> $item_id,            'item_category'=>$item_category,            'c1'=>$message[0],            'c2'=>$message[1],            'c3'=>$message[2],            'c4'=>$message[3],            'c5'=>$message[4],            'c6'=>$message[5],            'c7'=>$message[6],            'c8'=>$message[7],            'c9'=>$message[8],            'c10'=>$message[9]        ];        LeaveMessageModel()->save($dataArray);    }}我设计的数据表如下,这样设计数据表可以吗?有没有其它好方法:
查看完整描述

2 回答

?
天使之翼死神之镰

TA贡献81条经验 获得超102个赞

控制好前端传进来的数据参数,每个字段必须填写,没有用空格代替,然后进行拆分,分别赋值,表格为什么要用这么长一个字符串呢,为什么在不在前台设置成多个表单框进行传值呢

查看完整回答
1 反对 回复 2017-06-19
?
Caballarii

TA贡献1123条经验 获得超629个赞

还不如就把用#分割的字段直接存到数据库里的一个字段里。你在数据库里分开来有什么用?

查看完整回答
反对 回复 2017-06-16
  • 2 回答
  • 0 关注
  • 1799 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信