laravel Excel import 带参数id
来源:互联网 发布:网络棋盘游戏 编辑:程序博客网 时间:2024/05/21 06:18
1,view
<a href="javascript:void(0);" class="addfile"><div class="rfidin_box clearfix"> <img src="{{asset('images/lodingin_icon.png')}}" alt=""> <span style=" color: orange">导入</span> <form action="" method="post" enctype="multipart/form-data" id="formlist"> {{csrf_field()}} <input type="file" data-id="{{$goods->id}}" value="" name="excel" onchange="fileupload()" multiple="multiple"> </form></div> </a>
2,ajax(注意jQuery,jQuery-form.js,layer插件的引入还有bootstrap相关的css,js的引入)
function fileupload(){ $('#formlist').ajaxSubmit({// ['goods_id'=>$good->id] url: "{{url('admin/commodity/rfidimport')}}",//重点 dataType:'json', type:'post', data:$('#formlist').fieldSerialize(),// data:$('#formlist').serialize(), success:function(res) { if (res.status == 0) { layer.msg(res.msg); } else { layer.msg(res.msg, {icon: 1}, function () { location.reload();//重点
}); } }, error:function(xhr, type){ layer.msg('请检查导入的excel表格式是否正确'); } }); }
3,laravel的路由
Route::post('/rfidimport','CommodityController@rfidimport');
//重点
4,控制器的写法:
public function rfidimport(Request $request) {// dd($request->all()); $data = Excel::load($request->file('excel'), function($reader) {})->get()->toArray(); //商品分类不能为空// dd($data); $sh_array = array(); foreach ($data[0] as $ite){ reset($ite); $first=current($ite); array_push($sh_array, $first); }// dd($sh_array); foreach($sh_array as $v) { if (empty($v)) { return response()->json(['status' => 0, 'msg' => '商品序号不能为空']); } }// dd($data); $ch_array = array(); foreach ($data[0] as $item){ reset($item); current($item); $first=next($item); array_push($ch_array,$first); } //判断导入的数据是非有重复值 if (count($ch_array) != count(array_unique($ch_array))) { return response()->json(['status'=>0,'msg'=>'该导入数组有重复值']); } //导入的数据与数据库的数据是否重复 $warehouses= GoodsNexus::where('rfid','=',$ch_array[0])->first(); if($warehouses){ return response()->json(['status'=>0,'msg'=>'导入失败,rfid码重复']); } foreach ($data as $value) {//循环sheet if(!empty($value)){ $titleArr = array_keys($value[0]); //判断表头的数据是非正确,防止其他文件的导入 if($titleArr[0] != '商品序号'){ return response()->json(['status'=>0,'msg'=>'导入失败']); } if($titleArr[1] != 'rfid码'){ return response()->json(['status'=>0,'msg'=>'导入失败']); } } //数据通过models传到数据库中 foreach($value as $rfidData){ GoodsNexus::create([ 'goods_id'=>$rfidData['商品序号'], 'rfid' => $rfidData['rfid码'], ]); } } return ['status'=>1,'msg'=>'导入成功']; }
阅读全文
0 0
- laravel Excel import 带参数id
- laravel excel 判断带 各种页面提示参数
- laravel中分页带参数
- laravel 搜索分页 带参数稳定分页
- Laravel 中各种Url带参数传递
- 导出excel,id参数太长解决方案
- laravel原生分页并带参数的搜索分页
- laravel Excel
- laravel excel 导入excel
- laravel excel 导入excel
- Laravel导出excel教程
- laravel excel 导入
- laravel excel导出功能
- laravel excel 导入
- Laravel导出excel表格
- laravel excel循环导出
- laravel excel循环导出
- laravel excel 导出乱码
- 实例说明js脚本语言和php脚本语言的区别
- list.copy方法-深浅copy
- 程序员,我们应该如何去学习?
- [LeetCode] 530. Minimum Absolute Difference in BST
- 闲谈Tomcat性能优化
- laravel Excel import 带参数id
- POJ 2513-Colored Sticks (字典树)
- Linux之磁盘管理
- 关于Test类中不能使用Autowired注入bean的问题。。。
- unity 旋转子物体时发生变形
- LeetCode 73 Set Matrix Zeroes(Python详解及实现)
- 策略模式
- 并查集 +最小生成树
- 浅谈MapReduce编程模型