首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >鲁门:如何将参数从路线传递给控制器

问鲁门:如何将参数从路线传递给控制器
EN

Stack Overflow用户
提问于 2015-07-08 03:00:56
回答 2查看 10.1K关注 0票数 8

从我的路线上,我需要将$page的值传递给控制器

路线:

代码语言:javascript
复制
$app->get('/show/{page}', function($page) use ($app) {

  $controller = $app->make('App\Http\Controllers\PageController');
  return $controller->index();

});

主计长:

代码语言:javascript
复制
public static function index(){

  /** how can I get the value of $page form here so i can pass it to the view **/

  return view('index')->with('page', $page);

}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-08 03:13:36

您可以将其作为索引函数的参数传递。

路由

代码语言:javascript
复制
$app->get('/show/{page}', function($page) use ($app) {
    $controller = $app->make('App\Http\Controllers\PageController');
    return $controller->index( $page );
});

虽然路径在我看来是不对的,但是通常您定义路径时不需要使用正斜杠( beggining:$app->get('show/{page}', ... )。

控制器

代码语言:javascript
复制
public static function index($page)
{
    return view('index')->with('page', $page);
}

除非有使用闭包的理由,否则您的路由可以重写如下,并且{$page}变量将作为参数自动传递给控制器方法:

路由

代码语言:javascript
复制
$app->get('show/{page}', [
    'uses' => 'App\Http\Controllers\PageController@index'
]);
票数 8
EN

Stack Overflow用户

发布于 2017-10-11 21:59:20

在我的例子中,显示指定的用户时,几乎是相同的情况

路由文件 (web.php)

代码语言:javascript
复制
Route::get('user/{id}/show', ['as'=> 'show', 'uses'=>'UserController@show']);

我还在用门面

视图文件 (users.blade.php)

代码语言:javascript
复制
href="{{route('show', ['id' => $user->id])}}"

只是传递一个数组来路由名称,最后一个在

控制器文件(UserController.php)

代码语言:javascript
复制
public function show($id)
    {
        $user = User::findorfail($id)->first();
        return view('user', compact('user'));
    }

就这样办

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31282798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档