2017-02-08 4 views
0

Я работаю над laravel 5.3 Я хочу перенаправить пользователя на разные страницы, с которых страница пользователя идет. У меня есть 3 страницы одинперенаправить против разных запросов (laravel 5.3)

создать

посмотреть все

вид

Я использую создать страницу для создания и редактирования назначения. посмотреть все и посмотреть обе страница есть кнопка редактирования. после щелчка он переходит в метод редактирования контроллера и перенаправляет страницу редактирования в обоих случаях.

На странице редактирования есть кнопка возврата. Я хочу, когда пользователь нажмет на возврат, он должен пойти, чтобы просмотреть все, если он приходит из просмотра всей страницы, чтобы отредактировать другие мудрые, если он появился в форме формы, он должен вернуться к просмотру, когда он нажмет на возврат.

код кнопки для редактирования как и в целях и просматривать все страницы как

<li> 
     <a href="{{ route('student.edit', $student->id) }}"> Edit</a> 
    </li> 

на клик редактирования речь идет здесь в контроллер метода редактирования

public function edit($id){ 
    $student = Student::findOrFail($id); 
    $data = ['action' => 'edit']; 

    return view('student.create')->with(compact('data', 'student')); 
} 

Кнопки создания страницы имеют право в настоящее время

<div class="row"> 
    <button type="submit" value="dd">Save and add</button> 
    @if ($data['action'] == 'edit') 
    <a href="{{ route('student.index') }}"> 
    <button type="button">Return</button> 
    </a> 
    <button type="submit" value="edit">Save</button> 
    @endif 
</div> 

Теперь его возвращение мне, чтобы просмотреть всех учеников в порядке от метода обновления becaus е использовать проверить там значение кнопки, как

if(Input::get('add')) { 
    return redirect()->route('student.create'); 
}else{ 
    return redirect()->route('student.index'); 
} 

Как я могу перенаправить на student.view на базе этого пользователя кулачком с точки зрения студента редактировать

Любая идея, как я могу это сделать, может быть я могу также работать с сеансом, пожалуйста, помогите, как сделать

+0

Используйте Laravel в 'спине()'. Он будет генерировать URL-адрес предыдущей страницы для вас. –

+0

он должен вернуться, когда я нажму кнопку возврата –

+0

на кнопку возврата нажмите его не перейти в метод обновления, просто должен вернуться с страницы редактирования –

ответ

1

Вы можете получить URI по запросу с помощью $uri = $request->path(); затем использовать switch чеки против $uri диктовать, что делать дальше.

Вам также потребуется изменить контроллеры головы с

use Illuminate\Http\Request;

и обновить метод редактирования для public function edit(Request $request, $id){.

https://laravel.com/docs/5.3/requests#request-path-and-method

+0

уважаемый url будет таким же, как для обоих, так и для обоих вариантов редактирования. –

+0

0

Для возврата к предыдущей странице/маршрута в вашем использовании контроллера:

return redirect()->back(); 

Или просто:

return back(); 

Тогда вы можете иметь функции редактирования, как это:

public function edit($id) 
{ 
    $student = Student::findOrFail($id); 
    $data = [ 'action' => 'edit']; 

    return back()->with(compact('data', 'student')); 
} 

Ref: Laravel 5.2 doc - redirect

ОБНОВЛЕНИЕ:

Если вы имеете в виду он должен вернуться после нажатия на кнопку возврата, то это должно быть достаточно:

<a href="{{ URL::previous() }}"> Return </a> 

PS: Я испытал это на Laravel 5.2. * И это сработало Надеюсь, это поможет :)

+0

, он должен вернуться после нажатия кнопки возврата –

+0

Он должен вернуться после выполнения function –

+0

0

Использование {{URL :: предыдущий()}}

вы можете обновить свой код, как вспомогательный метод НИЖЕ

<a href="{{ URL::previous() }}"><button type="button">Return</button></a> 
+0

да его работа для возврата, но все еще проблема заключается в том, что у меня также есть кнопка добавления, если он 1-й добавит, и клики вернут его не возврат на эту страницу, где это необходимо ??? –

+0

На странице создания вы не показываете обратную ссылку. Когда вы нажимаете на редактирование, просматриваете все редактирование и просмотр страницы редактирование страницы, тогда только вы показываете возвращаемый URL-адрес, а затем где проблема. – vallabh

 Смежные вопросы

  • Нет связанных вопросов^_^