繁体   English   中英

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

[英]Pass a Parameter to a Controller in Laravel

我想将objectid传递给laravelcontroller 基本上,我有一个页面来显示与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文件:

Route::model('book', 'Book');
//Show pages
Route::get('/books', 'BookController@index');
Route::get('book/create', 'BookController@create');
Route::get('book/edit/{book}', 'BookController@edit');
Route::get('book/delete/{book}', 'BookController@delete');
Route::get('book/view/{book}', 'BookController@view');
////Handle form submissions
Route::post('book/create', 'BookController@handleCreate');
Route::post('book/edit', 'BookController@handleEdit');
Route::post('book/delete', 'BookController@handleDelete');


//Themes
Route::model('theme', 'Theme');
Route::get('/themes', 'ThemeController@index');
Route::get('theme/create', 'ThemeController@create');
Route::get('theme/edit/{book}', 'ThemeController@edit');
Route::get('theme/delete/{book}', 'ThemeController@delete');
Route::get('theme/view/{book}', 'ThemeController@view');
Route::post('theme/create', 'ThemeController@handleCreate');
Route::post('theme/edit', 'ThemeController@handleEdit');
Route::post('theme/delete', 'ThemeController@handleDelete');

您仍然可以使用常规的$ _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 ..我只是在这里放一个理论上的“哪里”。

在这里http://laravel.com/docs/requests#basic-input ,您会注意到以下几点:

“您不必担心用于请求的HTTP动词,因为所有动词都以相同的方式访问输入。”

因此,无论您使用的是get,put,post还是Delete,无论包在标题中的是什么,您都可以使用Input Class查找。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM