Laravel: How to redirect after controller method execution

一笑奈何 提交于 2020-01-14 14:11:17

问题


web.php:

Route::post('caption/{id}/delete', 'DetailController@deleteCaption');

DetailController.php:

public function deleteCaption(Request $request, $id) {
    $caption = Caption::findOrFail($id);
    $caption->delete(); //doesn't delete permanently

    return response(204);
}

admin.blade.php:

<p value='{{$caption->id}}'>{{$caption->content}}</p>
<form action="caption/{{$caption->id}}/delete" method="post">
<button type="submit">Delete caption</button>
</form> 
<form action="caption/{{$caption->id}}/approve" method="post">
<button type="submit">Accept caption</button>
</form>     

I want to make it so that after I delete an image, the user is redirected back to the admin page, located at localhost:8000/admin.

How can I do this? Documentation isn't understandable to me.


回答1:


You can redirect like

public function deleteCaption(Request $request, $id) {
    $caption = Caption::findOrFail($id);
    $caption->delete(); //doesn't delete permanently

    return redirect()->to('link/to/anywhere');
}

OR
You can redirect like this

return redirect()->back();

to your last state.

OR

return route('yourRouteName');
//if there's parameters
return route('yourRouteName', ['id' => 1]);



回答2:


You can simply redirect to your defined route in your web.php:

public function deleteCaption(Request $request, $id) {
    $caption = Caption::findOrFail($id);
    $caption->delete(); //doesn't delete permanently

    return redirect('admin');
}

https://laravel.com/docs/5.4/responses#redirects

Checking out the routing and blade docs may assist as well.

https://laravel.com/docs/5.4/routing

https://laravel.com/docs/5.4/blade




回答3:


Since you want to return back to the same page. You can use Laravel's back function.

 return back();

To redirect user back to the page it came from.




回答4:


To redirect back use

return redirect()->back();

To redirect to specific route use

return return redirect()->route('route-name');


来源:https://stackoverflow.com/questions/43061040/laravel-how-to-redirect-after-controller-method-execution

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!