2016-06-03 4 views
1

Aujourd'hui, j'ai essayé de définir Session::flash('alert-info', 'This is a message') dans mon projet Laravel 5.2.35. Mais il ne s'affichera pas. J'ai retiré le middleware web de routes.php. Mais ça ne marche toujours pas.Laravel 5.2.35 - impossible de définir Session :: flash

Routes.php

Route::group(['prefix' => 'client/{administration_id}', 'middleware' => ['loggedin']], function() { 
    Route::get('/projects', ['as' => 'client.projects', 'uses' => '[email protected]']); 
    Route::get('/project/new', ['as' => 'client.project.create', 'uses' => '[email protected]']); 
    Route::post('/project/new', ['as' => 'client.project.create.save', 'uses' => '[email protected]']); 
}); 

ProjectController.php

<?php 

namespace App\Http\Controllers; 

use App\Projects; 
use App\Http\Requests; 
use Session; 

class ProjectController extends Controller 
{ 
    public function newProject($administration_id) { 
     $customers = Customer::where('administration_id', $administration_id)->get(); 

     return view('client.projects.create', compact('customers')); 
    } 

    public function saveNewProject(Request $request, $administration_id) { 

     $project = new Projects(); 
     $project->name = $request->name; 
     $project->project_number = $request->code; 
     $project->administration_id = $administration_id; 
     $project->customer_id = $request->customer; 

     if($project->save()) { 
      Session::flash('alert-info', trans('projects.projects.create.success')); 

      return redirect(route('client.projects', $administration_id)); 
     } else { 
      Session::flash('alert-warning', trans('projects.projects.create.failure')); 
      return redirect()->back(); 
     } 
    } 
} 

Kernel.php

protected $middlewareGroups = [ 
    'web' => [ 
     \App\Http\Middleware\EncryptCookies::class, 
     \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, 
     \Illuminate\Session\Middleware\StartSession::class, 
     \Illuminate\View\Middleware\ShareErrorsFromSession::class, 
     \App\Http\Middleware\VerifyCsrfToken::class, 
    ], 

    'loggedin' => [ 
     'auth', 
    ], 

    'api' => [ 
     'throttle:60,1', 
    ], 
]; 

Répondre

0

Je retiré middleware web du RouteServiceProvider.php.

ancien code:

protected function mapWebRoutes(Router $router) 
{ 
    $router->group([ 
     'namespace' => $this->namespace, 'middleware' => 'web', 
    ], function ($router) { 
     require app_path('Http/routes.php'); 
    }); 
} 

Nouveau code:

protected function mapWebRoutes(Router $router) 
{ 
    $router->group([ 
     'namespace' => $this->namespace, 
    ], function ($router) { 
     require app_path('Http/routes.php'); 
    }); 
} 

Après cela, il fonctionne très bien, je ne sais pas si quelqu'un d'autre a le même problème, mais peut-être cela peut être une solution.