获取在 URL Laravel 中传递的变量
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/19056484/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Getting Variables Passed In URL Laravel
提问by Nick8675
Probably a basic question but I can't seem to get it.
可能是一个基本问题,但我似乎无法理解。
I am wanting to grab the variable in my url to my controller.
我想将我的 url 中的变量抓取到我的控制器。
// index view
// 索引视图
@foreach ($paymentInfos as $p)
<tr>
<td><a href="{{ URL::action('AdminController@getPackingSlip', array('order_id' => $p->order_id)) }}"> {{ $p->order_id }}</a></td>
<td>{{ $p->lastname }} {{ $p->firstname }}</td>
<td>{{ $p->buyer_email }}</td>
</tr>
@endforeach
// route
// 路线
Route::get('printpackingslip', 'AdminController@getPackingSlip');
// Controller
// 控制器
class AdminController extends BaseController {
/**
* Display a listing of the resource.
*
* @return Response
*/
public function getPackingSlip()
{
$rules = array('order_id' => 'order_id');
return View::make('admin.packingslip')->with($rules);
}
}
When you click on the link it goes to www.domain.com/printpackingslip?order_id=3
当您单击该链接时,它会转到 www.domain.com/printpackingslip?order_id=3
I do not know how to grab the order_id=3 in my controller.
我不知道如何在我的控制器中获取 order_id=3。
Also would I be better off using the :(num) to generate a URI of /printpackingslip/3 or does it not matter?
另外,我最好使用 :(num) 生成 /printpackingslip/3 的 URI 还是没关系?
For example:
例如:
// in my first view have:
// 在我的第一个视图中有:
<td><a href="{{ URL::to('printpackingslip', array('order_id' => $p->order_id)) }}"> {{ $p->order_id }}</a></td>
// then my route:
// 然后我的路线:
Route::get('printpackingslip/(:num)', 'AdminController@getPackingSlip');
Thanks!
谢谢!
回答by Antonio Carlos Ribeiro
Is this Laravel 4? Let's review it all:
这是 Laravel 4 吗?让我们回顾一下:
Route:
路线:
Route::get('printpackingslip/{order_id}', 'AdminController@getPackingSlip');
Controller:
控制器:
class AdminController extends BaseController {
public function getPackingSlip($order_id)
{
return "you selected $order_id";
}
}
View:
看法:
@foreach ($paymentInfos as $p)
...
<td><a href="{{ URL::route('printpackingslip', array('order_id' => $p->order_id)) }}"> {{ $p->order_id }}</a></td>
...
@endforeach