簡體   English   中英

Laravel:如何在控制器方法執行后重定向

[英]Laravel: How to redirect after controller method execution

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>     

我想這樣做,以便在刪除圖像后,用戶被重定向回位於 localhost:8000/admin 的管理頁面。

我怎樣才能做到這一點? 文檔對我來說是無法理解的。

你可以像重定向一樣

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

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

或者
你可以像這樣重定向

return redirect()->back();

到你最后的狀態。

或者

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

您可以簡單地重定向到您在 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

檢查路由和刀片文檔也可能有所幫助。

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

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

由於您想返回到同一頁面。 你可以使用 Laravel 的 back 函數。

 return back();

將用戶重定向回它來自的頁面。

重定向回使用

return redirect()->back();

重定向到特定路由使用

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM