将参数传递给Laravel中的控制器

时间:2014-08-14 06:53:52

标签: php laravel laravel-routing

我想将id的{​​{1}}传递给object中的controller。基本上我有一个页面显示与laravel相关的信息。用户可以选择将book添加到该图书。下面的行是他们点击的链接,以便打开创建主题themes

form

<a href="{{action('ThemeController@create')}}" class="btn btn-primary">Add Theme</a> 方法:

ThemeController

目前,这会在下拉列表中显示一张表格,其中包含我所有图书的列表。我宁愿只是传递用户所在书籍的public function create(){ $books = Book::all(); return View::make('theme.create', compact('books')); } ,然后再使用它。有什么方法可以做到吗?我还包含了我的id文件:

routes.php

1 个答案:

答案 0 :(得分:4)

您仍然可以使用普通的$ _GET方法。 在你的路线上:
book/create 你可以简单地要求。 book/create?book_id=xxyy 然后在你的控制器中创建函数

public function create(){
    $bookId = Input::get('book_id');
    $books = Book::all()->where('book_id' => $bookId);
    return View::make('theme.create', compact('books'));
}

请注意: 我有一段时间没有使用Laravel,不相信elequont查询:P ..我只是把理论上的“where”放在那里。

在这里http://laravel.com/docs/requests#basic-input,你会注意到这一点:

  

“您无需担心用于请求的HTTP谓词,如   对所有动词都以相同的方式访问输入。“

因此,无论您使用get,put,post还是删除,无论您在标题中包含什么内容,都可以找到使用Input类的内容。

修改
只需添加,您根本不需要修改路线。这只是GET请求中的一个简单GET参数。就像在任何其他应用程序中一样。