可能是一个基本问题,但我似乎无法得到它。
我想把我的网址中的变量抓到我的控制器。
//索引视图
@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');
//控制器
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);
}
}
当您点击链接时,请访问www.domain.com/printpackingslip?order_id=3
我不知道如何在我的控制器中获取order_id = 3.
我最好还是使用:(num)来生成/ printpackingslip / 3的URI,还是不重要?
例如:
//在我的第一个视图中有:
<td><a href="{{ URL::to('printpackingslip', array('order_id' => $p->order_id)) }}"> {{ $p->order_id }}</a></td>
//然后我的路线:
Route::get('printpackingslip/(:num)', 'AdminController@getPackingSlip');
谢谢!
答案 0 :(得分:10)
这是Laravel 4吗?让我们回顾一下:
路线:
Route::get('printpackingslip/{order_id}', 'AdminController@getPackingSlip');
控制器:
class AdminController extends BaseController {
public function getPackingSlip($order_id)
{
return "you selected $order_id";
}
}
查看:
@foreach ($paymentInfos as $p)
...
<td><a href="{{ URL::route('printpackingslip', array('order_id' => $p->order_id)) }}"> {{ $p->order_id }}</a></td>
...
@endforeach