laravel 4重定向到带有2个参数的路由
Posted
技术标签:
【中文标题】laravel 4重定向到带有2个参数的路由【英文标题】:laravel 4 Redirect to route with 2 parameters 【发布时间】:2014-06-10 02:27:09 【问题描述】:我目前正在尝试使用实现重定向
public function store($username,$courseId)
if (Auth::user()->username == $username && Auth::user()->courses()->where('id', '=', $courseId)->first() != null)
$course = Course::find($courseId);
$forum = new Forum();
$forum->description = Input::get('description');
$forum->course_id = Input::get('course_id');
$forum->save();
return Redirect::to(route('users.courses.forums.index',Auth::user()->username,$course->id));
return Redirect::to('/');
重定向中的参数不起作用。 Store 是 ForumController 中的一个 POST 方法。 Store 收到的参数没问题,因为我没有验证“if”的问题。我可以创建一个论坛并保存它,但是当我尝试重定向时出现此错误
Trying to get property of non-object
users.courses.forums.index 是我的带有 Action ForumController@index 的 URI 的名称。最后一种方法需要 2 个参数($username,$courseid)。像这样
public function index($username,$courseId)
$course = Course::find($courseId);
$forum = DB::table('forums')->where('course_id',$course->id)->get();
return View::make('forums.index',compact('course','forum'));
【问题讨论】:
【参考方案1】:为什么不直接使用Redirect::route()
并将变量作为数组传递?
这样的东西应该可以工作......
return Redirect::route('users.courses.forums.index',
array(Auth::user()->username, $course->id));
【讨论】:
【参考方案2】:有两种方法
1] 你可以使用Redirect::route()
像@msturdy 回答
前:
return Redirect::route('users.courses.forums.index',array(Auth::user()->username, $course->id));
2]你也可以使用Redirect::action()
EX:
return Redirect::action('ForumController@index',array(Auth::user()->username, $course->id));
点赞 lavarel Documentation for redirects
【讨论】:
以上是关于laravel 4重定向到带有2个参数的路由的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Laravel 4 中将一个路由重定向到 HTTPS,将所有其他路由重定向到 HTTP?
如何使用获取参数将 laravel (5.3) 路由重定向到其他路由
如何将没有参数的 Laravel 路由重定向到具有默认参数的控制器方法?