2016-12-06 7 views
1
umleiten entfernt

Ich verwende Laravel 5.3Laravel 5.3 - Flash-Daten nach

Ich habe zwei Modelle, Parent und Student mit einer many-to-many-Beziehung zwischen ihnen und ich mag ein Parent für ein Student und vice hinzufügen versa.

Mein Ansatz war:

  1. einen Link von Student Profil erstellen Parent hinzufügen, etwa so:

    <a href="{{ route('students.parents.add', ['id' => $student->id]) }}" title="Add parent">Add Parent</a>

  2. Fügen Sie die Route students.parents.add mit einer Controller-Methode die id zu blinken zu der Sitzung und Weiterleitung.

    // in web.php: 
    Route::get('/students/{id}/parents/add', ['as' => 'students.parents.add', 'uses' => '[email protected]']); 
    Route::resource('students', 'StudentController'); 
    
    // and in StudentsController: 
    public function addParent($id) 
    { 
        return redirect()->route('parents.create')->with('associated_id', $id); 
    } 
    

    Danach leitet die Schaltfläche klicken, um die ParentsControllercreate() aber die Sitzungsdaten ist nicht da, wenn ich return session()->all() versuchen.

Fehle ich etwas?

Antwort

0

Stellen Sie sicher, dass Sie keine web Middleware in Ihre routes.php Datei hinzufügen, da sie bereits in der Datei RouteServiceProvider.php Datei hinzugefügt wurde.

Wenn Sie es jetzt erneut in Ihrer routes.php anwenden, sehen Sie, dass Web zweimal in der Routenliste php artisan route:list angezeigt wird. Dadurch werden die Flash-Daten exakt gelöscht.

+0

Ich bin beim googeln des Problems auf dieses Problem gestoßen, aber das ist nicht der Fall, da 'route: list' die 'web'-Middleware nur einmal pro Route zeigt. –