Браузер выдает ошибку «К сожалению, что-то пошло не так» при вставке 10000 строк из файла xlxs - laravel - PullRequest
0 голосов
/ 11 ноября 2019

Я загружаю файл xlxs с 10000 строками. Во время процесса загрузки браузер выдает ошибку Упс, что-то пошло не так . Однако, когда я обновляю страницу, она показывает, что все строки на листе xlxs были вставлены в БД.

В чем может быть проблема и как лучше всего решить или ** оптимизировать эту ошибку, пожалуйста?

Контроллер

   $get_group = $request->get('group');
   $get_group = $request->get('group');
   if(empty($get_group))
    {
        return redirect()->back()->with('error', 'No group has been selected.');
    }
    $explode_get_group = implode(' ', $get_group);
    $selectedGroup = Group::where('id',$explode_get_group)->first();   
    if($request->file('imported-file'))
    {
             $path = $request->file('imported-file')->getRealPath();                
             $data = Excel::load($path, function($reader)
             {
                $reader->calculate(false);

             })->get();                 
            if(($request->file('imported-file')->getClientOriginalExtension()) != 'xlsx')
           {
           return redirect('/customer/view')->with('error','File Format may not be supported');
           }

       else{

       if(!empty($data) && $data->count())
       {
         foreach ($data->toArray() as $row)
         {
           if(!empty($row))
           {
             $dataArray[] =
             [
               'name' => array_get($row, 'name'),
               'phone' =>array_get($row, 'phone'),
               'user_id' => Auth::user()->id      
             ];
           }
       }

       if(isset($row['phone']) == 0)
       {
           return redirect('/customer/view')->with('error','Failed to upload file');
       }

       //  if(!empty($dataArray))
       else
       {

          $selectedGroup->customers()->createMany($dataArray);                    
          return redirect('/customer/view')->with('status','Contacts successfully added');
       }
      }
       }
    }
     else {
   return redirect('/customer/view')->with('error','No file was uploaded. Please upload a file');

        }

1 Ответ

0 голосов
/ 11 ноября 2019

Всякий раз, когда я пытаюсь загрузить большие файлы, которые необходимо проанализировать, я, как правило, загружаю файл и запускаю фоновую задачу для обработки синтаксического анализа файла. Возможно, вы получили ошибку тайм-аута или что-то подобное. Обычно вы должны увидеть полную ошибку в ваших журналах. Другое дело - использовать try / catch, чтобы вы могли отловить любое выбрасываемое исключение и посмотреть оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...