【问题标题】:Upload CSV to SQL using laravel eloquent使用 laravel eloquent 上传 CSV 到 SQL
【发布时间】:2017-04-07 15:26:05
【问题描述】:

我在将我的 csv 上传到我的数据库 (SQL) 时遇到了这个问题。我正在使用 Maatwebsite... 这是我的控制器:

class UploadCSV extends Controller
{
    public function store(Request $request){
        if($request->hasFile('import_file')){
            $path = $request->file('import_file')->getRealPath();
            $data = \Excel::load($path)->get();
            if($data->count()){
                foreach ($data as $key => $value) {
                    $arr[] = ['s_id' => $value->id,
                            'school_name' => $value->sname,
                            'region' => $value->reg,
                            'province' => $value->prov,
                            'municipality' => $value->mun,
                            'division' => $value->div,
                            'district' => $value->dis,
                            'enrollment_sy_2014_2015' => $value->enrolled,
                            'mooe_in_php_for_fy_2015' => $value->mooe,
                            'latitude' => $value->lat,
                            'longitude' => $value->lng
                    ];
                }
                    Map::insert($arr);
                    dd('Insert Record successfully.');
                    //return json_encode($arr);

            }
        }
        dd('Request data does not have any files to import.');
    } 

这给了我这个无穷无尽的错误信息:

CSV 仅包含 200 多行。任何帮助,将不胜感激。在此先感谢:))

【问题讨论】:

    标签: php sql-server csv eloquent laravel-5.4


    【解决方案1】:

    也许可以尝试这样的事情,创建新模型(假设 Map 是您的模型的名称,save():

    <?php
    class UploadCSV extends Controller
    {
        public function store(Request $request){
            if($request->hasFile('import_file')){
                $path = $request->file('import_file')->getRealPath();
                $data = \Excel::load($path)->get();
                if($data->count()){
                    foreach ($data as $key => $value) {
                        $entry = new Map;
    
                        $entry->s_id = $value->id;
                        $entry->school_name = $value->sname;
                        $entry->region = $value->reg;
                        $entry->province = $value->prov;
                        $entry->municipality = $value->mun;
                        $entry->division = $value->div;
                        $entry->district = $value->dis;
                        $entry->enrollment_sy_2014_2015 = $value->enrolled;
                        $entry->mooe_in_php_for_fy_2015 = $value->mooe;
                        $entry->latitude = $value->lat;
                        $entry->longitude = $value->lng;
    
                        $entry->save();
                    }
                }
            }
            dd('Request data does not have any files to import.');
        }
    
    }
    

    【讨论】:

    • 我尝试了你的代码,但它给了我一个错误。我阅读了一些查询比较并将我的查询更改为: Map::create(['s_id' => $value->id, ' school_name' => $value->sname....而且我已经成功上传了我的excel文件..无论如何,谢谢你的回复..
    猜你喜欢
    • 2022-01-14
    • 2015-04-30
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 2018-08-18
    • 2018-06-20
    • 1970-01-01
    • 2020-06-24
    相关资源
    最近更新 更多