Laravel 4-Redirect::back() nicht zur vorherigen Seite (aktualisieren aktuelle Seite)
Habe ich eine einfache Lavel-4-Projekt und ich bin versucht zu tun, eine einfache Umleitung auf die Vorherige Seite nach dem die Informationen vorgelegt wurde. Jedoch beim einfügen Redirect::back()
es nur aktualisieren der aktuellen Seite. Wie kann ich die Umleitung ordnungsgemäß auf der vorherigen Seite war auf?
Controller
public function saveCustomer($id) {
$zip_code = DB::table('zip_codes')
->where('zip_code', Input::get('user_zip_code'))
->first();
if (!empty(Input::get('user_id'))) {
$user_id = Input::get('user_id');
$user = User::find($user_id);
$user->user_zip_code = $zip_code->zip_code;
$user->office = $zip_code->office;
$user->save();
} else {
$user_id = NULL;
}
$userdata = [
'user_id' => $user_id,
'first_name' => Input::get('first_name'),
'last_name' => Input::get('last_name'),
'street_1' => Input::get('street_1'),
'street_2' => Input::get('street_2'),
'apartment' => Input::get('apartment'),
'phone_1' => Input::get('phone_1'),
'phone_2' => Input::get('phone_2'),
'state' => 'Alabama',
'user_zip_code' => Input::get('user_zip_code'),
'city' => $zip_code->city
];
$rules = array(
'first_name' => 'required',
'last_name' => 'required',
'street_1' => 'required',
'phone_1' => 'required'
);
$validation = Validator::make($userdata, $rules);
if($validation->fails()){
return Redirect::to("customer/edit/$id")->withErrors($validation)->withInput();
}
UsersInformation::find($id)->update($userdata);
return Redirect::back();
Blade Vorlage
{{ Form::open(array('name' => 'edit customer', 'action' => array('CustomerController@saveCustomer', $customer->id)))}}
@foreach($errors->all() as $error)
<p class="albox errorbox">{{$error}}</p>
@endforeach
<div class="four columns">
@if (isset($customer->first_name))
{{ Form::hidden('user_id', '' . $customer->user_id . '')}}
@endif
<label class="form">First Name:</label> <span class="required"> (required)</span><br />
@if (isset($customer->first_name))
{{ Form::text('first_name', '' . $customer->first_name . '')}}<br />
@else
{{ Form::text('first_name')}}<br />
@endif
<label class="form">Last Name:</label> <span class="required"> (required)</span><br />
@if (isset($customer->last_name))
{{ Form::text('last_name', '' . $customer->last_name . '')}}<br />
@else
{{ Form::text('last_name')}}<br />
@endif
<label class="form">Primary Street:</label> <br />
@if (isset($customer->street_1))
{{ Form::text('street_1', '' . $customer->street_1 . '')}}<br />
@else
{{ Form::text('street_1')}}<br />
@endif
<label class="form">Secondary Street:</label> <br />
@if (isset($customer->street_2))
{{ Form::text('street_2', '' . $customer->street_2 . '')}}<br />
@else
{{ Form::text('street_2')}}<br />
@endif
<label class="form"> Primary Phone Number:</label> <br />
@if (isset($customer->phone_1))
{{ Form::text('phone_1', '' . $customer->phone_1 . '')}}<br />
@else
{{ Form::text('phone_1')}}<br />
@endif
<label class="form">Secondary Phone Number:</label> <br />
@if (isset($customer->phone_2))
{{ Form::text('phone_2', '' . $customer->phone_2 . '')}}<br />
@else
{{ Form::text('phone_2')}}<br />
@endif
<label class="form">Apartment:</label><br />
@if (isset($customer->apartment))
{{ Form::text('apartment', '' . $customer->apartment . '')}}<br />
@else
{{ Form::text('apartment')}}<br />
@endif
<label class="form">City/Zip Code:</label> <span class="required"> (required)</span><br />
<select name="user_zip_code">
<option value='{{{ $customer->user_zip_code }}}'>{{{ $customer->city }}} - {{{ $customer->user_zip_code }}}</option>
@foreach ($zip_code as $zip_codes)
<option value='{{ $zip_codes->zip_code }}'>{{ $zip_codes->city }} - {{ $zip_codes->zip_code }}</option>
@endforeach
</select><br />
<button type="submit" class="button is-success">Save</button><br /><br />
</div>
{{ Form::close() }}
Nicht sicher, ob benötigt, aber hier ist auch meine route.php Seite
Route::get('customer/edit/{id}', 'CustomerController@editCustomer');
Du musst angemeldet sein, um einen Kommentar abzugeben.
Durch die aktuelle Seite, meinst du die Seite wo das Formular ist? Wenn ja, dann ist es in der Tat Umleitung zurück – es geht um die controller-action verarbeitet wird alles in die saveCustomer() und leitet zurück auf die Formularseite.
Die Frage ist...ist es speichern der Benutzer in der DB?
P. S sollten Sie alle haben, die Sie Datenbank-Logik in das Modell statt in der controller – das macht die ganze app modularer, einfacher zu testen und Ihre Controller dünner.
Bearbeiten eine benannte route, und leiten Sie explizit auf Sie.
Routes.php
Controller.php
Verwenden: