2017-02-02 4 views
0

Hallo Ich möchte bestimmte Route nur auf der Grundlage der Bedingung erhalten. Ich habe momentan versucht Session, aber es funktioniert nicht mit Routen. Also hier könnte jemand helfen wollen, wenn es dazu einen einfachen Weg gibt.Laravel 5 Route bedingt setzen

if(\Session::get('quiz_type') == 'quiz'){ 
    Route::resource('quizzes.questions', 'QuestionsController'); 
}else{ 
    Route::resource('surveys.questions', 'QuestionsController'); 
} 

Ich möchte diese bestimmte Route Quiz nur, wenn ich bestanden und eine bestimmte Bedingung erfüllen. Sonst möchte ich eine andere Route anrufen.

+0

'Route :: resource' soll nicht so funktionieren. Im Grunde wird es die gleichen Routen nur mit einer anderen String-Darstellung zurückgeben – xhulio

+0

Hi unter der Annahme, dass ich Route :: Ressource nicht verwenden wird, ist es möglich, Bedingung wie das obige Beispiel zu verwenden? – Ikong

+0

hängt davon ab, wie Sie den 'quiz_type 'einrichten, ist dies ein URL-Parameter, ein Cookie oder eine Sitzung. Wenn es eine Sitzung ist, sollte es funktionieren. – xhulio

Antwort

1

Wenn ich mich richtig erinnere Session-Start nur, nachdem Laravel bereits die Routes-Datei analysiert hat, deshalb funktioniert Ihr Code nicht wie erwartet.