将请求参数传递给View - Laravel

时间:2015-12-27 19:10:35

标签: php laravel laravel-5 blade

是否可以将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');
    }
}

2 个答案:

答案 0 :(得分:2)

这样的事情会起作用吗?

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

答案 1 :(得分:2)

您可以使用:

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

编辑如果您需要将其作为JSON返回,则可以执行以下操作:

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