我目前正在尝试使用
实现重定向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('/');
}
Redirect中的参数无效。 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'));
}
答案 0 :(得分:7)
为什么不直接使用Redirect::route()
并将变量作为数组传递?
这样的事情应该有用......
return Redirect::route('users.courses.forums.index',
array(Auth::user()->username, $course->id));
答案 1 :(得分:3)
有两种方式
1]您可以像@msturdy回答一样使用Redirect::route()
EX:
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));