2014-04-24 16 views
6

Obecnie próbuję zaimplementować przekierowania używająclaravel 4 Przekierowanie na trasie z 2 parametrami

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('/'); 
} 

Parametry Przekierowanie nie działa. Store jest metodą POST w ForumController. Parametry, które Store otrzymał, są w porządku, ponieważ nie mam problemów z weryfikacją "if". Mam mógł stworzył forum i zapisać go, ale gdy próbuję przekierować mam ten błąd

Trying to get property of non-object 

I users.courses.forums.index to nazwa mojego URI z działaniem ForumController @ indeksu. Ta ostatnia metoda wymaga 2 parametrów ($ username, $ courseid). Podobny do tego:

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'));  
} 

Odpowiedz

7

bezpośrednio i przekazać zmienne jako tablicę?

Coś jak to powinno działać ...

return Redirect::route('users.courses.forums.index', 
          array(Auth::user()->username, $course->id)); 
3
Nie

dwa sposoby

1] można użyć Redirect::route() jak odpowiedź @msturdy

EX:

return Redirect::route('users.courses.forums.index',array(Auth::user()->username, $course->id)); 

2] można również użyć Redirect::action()

EX:

return Redirect::action('[email protected]',array(Auth::user()->username, $course->id)); 

Jak lavarel Documentation for redirects