как загрузить данные Excel в базу данных, значение которой не дублируется - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть файл Excel, который я импортирую в свою базу данных. В файле Excel есть значения, которые уже существуют в моей базе данных. Если я продолжу импортировать, как мне пропустить / передать те же значения, чтобы дублированные данные не импортировались в базу данных? Но данные, значение которых не является дубликатом, попадут в базу данных.

Это мой контроллер:

public function import(Request $request){
    //validate the xls file
    $this->validate($request, array(
        'file'      => 'required'
    ));
    if($request->hasFile('file')){
        $extension = File::extension($request->file->getClientOriginalName());
        if ($extension == "xlsx" || $extension == "xls" || $extension == "csv") {
            $path = $request->file->getRealPath();
            $data = Excel::load($path, function($reader) {
            })->get();
            if(!empty($data) && $data->count()){

                foreach ($data as $key => $value) {
                    $insert[] = [
                        'nama_perusahaan'=> $value->nama_perusahaan,
                        'name'=> $value->name,
                        'username'=> $value->username,
                        'email'=> $value->email,
                        'bagian'=> $value->bagian,
                        'pass'=> $value->password,
                        'password' =>  bcrypt($value['password']),
                        'kontak'=> $value->kontak,
                        'jenis_questioner'=> $value->jenis_questioner,
                        'pic_responden'=> $value->pic_responden,
                        'kode_proyek'=> $value->kode_proyek,
                        'nama_proyek'=> $value->nama_proyek,
                        'nama_pemesan'=> $value->nama_pemesan,
                        'no_po'=> $value->no_po,
                        'pic'=> $value->pic,
                        'nama_sales'=> $value->nama_sales,
                        'nama_pe'=> $value->nama_pe,
                        'alamat_pengiriman'=> $value->alamat_pengiriman,
                        'warna_cat'=> $value->warna_cat,
                        'tanggal_delivery'=> $value->tanggal_delivery,
                        'tanggal_tescom'=> $value->tanggal_tescom,
                        'tanggal_survey'=> $value->tanggal_survey,
                        'tanggal_upload'=> $value->tanggal_upload

                    ];
                }

                if(!empty($insert)){

                    $insertData = DB::table('users')->insert($insert);
                    if ($insertData) {
                        Session::flash('success', 'Your Data has successfully imported');
                    }else {                        
                        Session::flash('error', 'Error inserting the data..');
                        return back();
                    }
                }


            }

            return back();

        }else {
            Session::flash('error', 'File is a '.$extension.' file.!! Please upload a valid xls/csv file..!!');
            return back();
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...