2016-12-12 2 views
0

Ich habe ein Formular mit einigen input field.Now ich will, wenn jemand submit dieser form dann wird er redirect zu einer anderen Seite, wo ich Bestätigungsschreiben geschrieben habe.Ich habe gesucht, aber ich kann nicht die richtige Antwort auf mein Problem finden.Wie wird nach dem Einfügen von Formulardaten in Laravel in eine andere Seite umgeleitet?

Mein Controller:

public function store(Request $request) 
{ 
    $applicant = new Applicant(); 
    $applicant['name'] = $request->input('name'); 
    $applicant['sex'] = $request->input('sex'); 
    $applicant['marital_status'] = $request->input('marital_status'); 
    $applicant['date_of_birth'] = $request->input('date_of_birth'); 
    $applicant['email'] = $request->input('email'); 
    $applicant['fathers_name'] = $request->input('fathers_name'); 
    $applicant['mothers_name'] = $request->input('mothers_name'); 
    $applicant['spouses_name'] = $request->input('spouses_name'); 
    $applicant['nationality'] = $request->input('nationality'); 
    $applicant['present_add'] = $request->input('present_add'); 

    $applicant->save(); 
    \Session::flash('flash_message','Application has been successfully submitted.'); 
    return redirect(route('confirmationMsg')); 
} 

Meine Route:

Route::group(['prefix' => 'career'], function() { 
    Route::get('apply', ['as' => 'addApplicant', 'uses' => '[email protected]']); 
    Route::post('save', ['as' => 'saveApplicant', 'uses' => '[email protected]']); 
    Route::get('submitted', ['as' => 'confirmationMsg', 'uses' => '[email protected]']); 
}); 

Ich habe einen Fehler mit diesem Code bekam:

QueryException in C: \ xampp \ htdocs \ NoticeBoard \ vendor \ larave l \ Framework \ src \ Illuminate \ Database \ Connection.php Linie 729: SQLSTATE [23000]: Integrität Einschränkungsverletzung: 1048 Spalte 'name' kann nicht null sein (SQL: insert into applicants (name, sex, marital_status

Kann mir jemand helfen, wo ist das Problem oder wie mache ich das? Danke im Voraus.

+0

Überprüfen Sie, ob Ihre Eingabe:

dd($request->all()); 

Alternativ Sie eine der wenigen dieser Felder als nullable() in Migrationsdatei festlegen haben Sie den richtigen Namen: Ihr Fehler wird nicht Eingabe Name –

+0

@DiegoCespedes ist nicht eine solche Art von Problem.Ihre Umleitung Problem. –

Antwort

2

Try this:

return redirect('your_route'); 

Route::get('your_route', function() { 
    // return view from here or make a function call from a controller 
}); 
+0

Ja. Ich verstehe, wo ich falsch gemacht habe. Angenommen !! –

+0

@ChoncholMahmud eigentlich, der Code aus Ihrer Frage ist korrekt und 'return redirect ('your_route');' - Code aus dieser Antwort wird nicht funktionieren, da Sie URI an 'redirect()' übergeben müssen, aber nicht Routenname. Wenn Sie den Routennamen verwenden möchten, sollten Sie ihn wie in Ihrer Frage 'redirect (route ('route_name'))' 'oder' redirect() -> route ('route_name') 'verwenden. Und Ihr Fehler hat sowieso nichts mit Routen zu tun und umzuleiten. Sie haben einen DB-Fehler. –

+0

@AlexeyMezenin jetzt habe ich wie http: // Pastebin getan.com/3gPhy5Fz –

0

Try this: -

return redirect()->route('confirmationMsg'); 
0

versuchen diese unter:

return Redirect::to(url); 
0

ich drei Antworten sehen können, die über redirect() und route() Nutzung sagen , aber dein Code ist hier korrekt. Sie haben sogar eine dieser Antworten akzeptiert (warum?).

Der Fehler sagt name (und wahrscheinlich einige andere) Felder sind leer, also müssen Sie sicherstellen, dass Sie diese Felder aus dem Formular übergeben. Sie können dies überprüfen, indem Sie den Code direkt am Anfang der store() Funktion:

$table->string('name')->nullable(); 
+0

Ich habe doppel-Aufruf die Methode 'ApplicantController @ store' das ist, warum, wenn es zu' submitted' Route geht dann wieder die 'ApplicantController @ store' Methode.Nun habe ich eine andere Methode erstellt und umleiten zu dieser Methode zu zeigen Bestätigungsseite. Deshalb habe ich diese Antwort akzeptiert. Mein Code jetzt http://pastebin.com/3gPhy5Fz –

+0

Nun noch die Antwort ist nicht das Problem zu lösen und der Code ist falsch darin. –

+0

Also sagen Sie mir, welcher Ansatz perfekt sein wird, um dieses Problem zu lösen? Ich denke du verstehst mein Problem. –

Verwandte Themen