将请求参数传递给视图 - Laravel

Passing request parameter to View - Laravel

是否可以将 route 参数传递给控制器​​,然后传递给 laravel 中的视图?

示例;

我有下面的路线;

Route::get('post/{id}/{name}', 'BlogController@post')->name('blog-post');

我想将 {id}{name} 传递到我的视图,所以在我的控制器中

class BlogController extends Controller
{
    //
     public function post () {

     //get id and name and pass it to the view

        return view('pages.blog.post');
    }
}

这样的东西行得通吗?

class BlogController extends Controller
{
    //
     public function post ($id, $name) {

     //get id and name and pass it to the view

        return view('pages.blog.post', ['name' => $name, 'id' => $id]);
    }
}

您可以使用:

public function post ($id, $name) 
{
   return view('pages.blog.post', ['name' => $name, 'id' => $id]);
}

甚至更短:

public function post ($id, $name) 
{
   return view('pages.blog.post', compact('name', 'id'));
}

编辑如果你需要return它作为JSON你可以简单地做:

public function post ($id, $name) 
{
   return view('pages.blog.post', ['json' => json_encode(compact('name', 'id'))]);
}