我正在尝试重定向到PostsController@store但页面重定向到PostsController@index:
在路线中.php:
Route::Resource('posts', 'PostsController');
Route::Resource('reviews', 'ReviewsController');
评论控制器
class ReviewsController extends Controller {
public function store(Request $request) {
// (do a bunch of stuff)
return redirect(action('PostsController@store',[$request]));
}
}
帖子控制器
class PostsController extends Controller {
public function index() {
dd('Incorrectly redirects here');
}
public function store(Request $request, Post $post) {
dd('This is where I am trying to redirect to');
}
}
不会发生错误或异常。但是,重定向后,网址为:
http://localhost/laravel2devel/public/posts?POST%20/laravel2devel/public/reviews%20HTTP/1.1%0D%0AAccept:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8%0D%0AAccept-Encoding:%20%20%20%20%20%20%20%20%20%20%20gzip,%20deflate%0D%0AAccept-Language:%20%20%20%20%20%20%20%20%20%20%20en-US,en;q=0.8%0D%0ACache-Control:%20%20%20%20%20%20%20%20%20%20%20%20%20max-age=0%0D%0AConnection:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20keep-alive%0D%0AContent-Length:%20%20%20%20%20%20%20%20%20%20%20%20132%0D%0AContent-Type:%20%20%20%20%20%20%20%20%20%20%20%20%20%20application/x-www-form-urlencoded%0D%0ACookie:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20XSRF-TOKEN=eyJpdiI6InhzN2JiK0FvYnIrUnVoeGZkcGNHOXc9PSIsInZhbHVlIjoiMFdrdnluNTdrR3l3OTlrZE9QSDA1WVwvalNoeDhHbG0wUXlvT0NBblRyWDNocFwvMExCZ0dqdVppbjR2M29SdnRmbWRDMkdRc042XC9ib3hrd2xZa1JCTmc9PSIsIm1hYyI6IjQ0ZmM4YTg4YmIxNTliMGY0MzI0OGMxMjMyZGM0ZDU4ZGM4MTVlMGM2NzVmZWNmM2YzZjI5YWU4OTJhOWM5MGYifQ%3D%3D;%20laravel_session=eyJpdiI6IjRCRThcLzdaR3ZaUUZJdTVQcmtVZk5BPT0iLCJ2YWx1ZSI6IlJYTlFaWk5WZEZQbHdkQzhtalhGbko0dnUzdzN0UjhOM2FLZUJQMkloNkMwdGRjc3VcL3lNUjBaXC9acktrUkxvRzZEWW4rVlY3Q0o2alB3VnJnNEZDdnc9PSIsIm1hYyI6ImIwMjRlMzIzYWYxNDI5NjEzYmFmZjljMjg4MmFkYzU1MTkzZDVkOWRjM2IwMzZlNTM1MTE2ZWExYTA3NmYyNzgifQ%3D%3D%0D%0AHost:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20localhost%0D%0AOrigin:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20http://localhost%0D%0AReferer:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20http://localhost/laravel2devel/public/swords/1%0D%0AUpgrade-Insecure-Requests:%201%0D%0AUser-Agent:%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Mozilla/5.0%20%28Windows%20NT%206.1;%20WOW64%29%20AppleWebKit/537.36%20%28KHTML,%20like%20Gecko%29%20Chrome/48.0.2564.97%20Safari/537.36%0D%0A%0D%0A_token=DeQeCCA8e19IIsxGhouybXiqIFoAMLsQ6sgp5EMF&post_title=asdfdas&user_id=2&reviewable_id=1&reviewable_type=item&post_body=asdfdfas
如果使用资源控制器,则应使用 HTTP POST 调用store()
方法。如果你重定向,那么它将使用GET,所以Laravel会调用index()
。请参阅 Laravel HTTP 资源控制器文档。
当您将路由添加为资源时,它将处理对每个方法的 Restful 请求。
对 url 的 get 请求将执行 index()
方法。对于执行 post 请求的store()
方法,需要给出。 store()
方法是添加资源。
请仔细阅读资源控制器文档。
我不清楚你的问题,但我的想法是,如果你想为特定帖子提供商店评论,只需像这样使用你的路线
Route::Resource('posts', 'PostsController');
Route::Resource('posts.reviews', 'ReviewsController');
然后检查路由:列表然后你会得到路由列表,我希望你有两个表然后使用外键你可以存档你的目标
我希望这对你来说是很好的教程链接