У меня есть форма, которая запускает этот код контроллера;Вспышка сессии не работает
public function index()
{
$date = date("Ymd");
$temp_table = new TempTable;
$generated_temp_table = $_POST['generated_temp_table'];
$temp_table_data = $temp_table->setTempTable($generated_temp_table)->newQuery()->with('payment')->get();
$payments = [];
foreach($temp_table_data as $a_payment) {
array_push($payments, $a_payment->payment->first()->attributesToArray());
}
//then create the Excel file
Excel::create($date.'-SME_Payments_Export-U', function($excel) use ($payments) {
$excel->sheet('Excel sheet', function($sheet) use ($payments) {
$sheet->setOrientation('landscape');
$sheet->fromArray($payments);
});
})->export('csv');
\Session::flash('flash_message', 'Your CSV is downloading');
Redirect::back();
}
flash
сообщение не отображается. Вот код представления;
@if(Session::has('flash_message'))
<div class="alert alert-success {{Session::has('flast_message_important') ? 'alert-important' : ''}}">
@if(Session::has('flash_message_important'))
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
@endif
{{ session('flash_message')}}
</div>
@endif
Я включил use Session;
в верхней части обоих контроллеров. Здесь он находится в config/app.php;
'Session' => 'Illuminate\Support\Facades\Session',
Есть ли для этого больше, чем я здесь пытаюсь?
Вы производите запрос ajax во время загрузки страницы? Если это так, Session :: flash делает данные доступными только для текущего и следующего запросов (только!). Если вы выполните сеанс :: flash(), сообщение все еще доступно, но если во время загрузки страницы выполняется запрос Ajax. Данные недоступны, поскольку запрос ajax потребляет данные. – ChainList