2016-10-05 3 views
2

Я пытаюсь Импорт файла Excel в БД, после проверки формата файла,, который я сделал успешно, то только часть, где я проблема возникает с возвратом на страницу просмотра с сообщением об ошибке или успехе.Вернуться назад делает работу в Excel :: нагрузки() Функция: Laravel 4,2

Мой контроллер ::

Excel::load(Input::file('datafile'), function ($reader) use($attr_array) { 

      ... 

      //IF DATA MATCH 

      if($data_match == 'true') 
      {     
        ... 

        foreach ($reader->toArray() as $row) { 

         $Pdt_data->slug = Util::uniqueSlug($row['attr_name_value'], 'Product'); 
         $rem_value['slug'] = $Pdt_data->slug; 
         $resultant = array_merge($rem_value, $row); 

         //INSERT INTO DATABASE 
         Product::firstOrCreate($resultant); 
        } 
        \Session::flash('success', 'Data uploaded successfully.'); 
        return Redirect::back();     
      }    
      //IF DATA DOES NOT MATCH 
      else 
      {     
       \Session::flash('error', 'You Are Trying To Import File Of Different Category!'); 
        return Redirect::back(); 
      } 
     }); 

У меня не было никакой помощи с повторяющимися вопросами, любая помощь будет высоко оценен.

ответ

2

я, наконец, решил эту проблему сам по:

  • Определение переменной вне Excel Функция
  • Pass она функционировать с &
  • значение параметра переменной истинным или ложным на Если условие
  • Переадресация вызова на URL из-за пределов Excel Функция на основе значений, установленных ранее.

Обновленный код:

$importstatus = ''; //DEFINING VARIABLE OUTSIDE EXCEL FUNCTION 

Excel::load(Input::file('datafile'), function ($reader) use($attr_array) { 

      ... 

      //IF DATA MATCH 

      if($data_match == 'true') 
      {     
        ... 

        foreach ($reader->toArray() as $row) { 

         $Pdt_data->slug = Util::uniqueSlug($row['attr_name_value'], 'Product'); 
         $rem_value['slug'] = $Pdt_data->slug; 
         $resultant = array_merge($rem_value, $row); 

         //INSERT INTO DATABASE 
         Product::firstOrCreate($resultant); 
        } 
        \Session::flash('success', 'Data uploaded successfully.'); 
        $importstatus = 'fine'; //SETTING A VARIABLE VALUE    
      }    
      //IF DATA DOES NOT MATCH 
      else 
      {     
       \Session::flash('error', 'You Are Trying To Import File Of Different Category!'); 
        $importstatus = 'error'; //SETTING A VARIABLE VALUE 
      } 
     }); 

//CHECK VARIABLE VALUE FOR DECISION 
if ($importstatus == 'fine') { 
       \Session::flash('success', 'Data uploaded successfully.'); 
       return Redirect::back(); 
      } else { 
       \Session::flash('error', 'You are trying to import file of Different Category!'); 
       return Redirect::back(); 
      }