获取在URL Laravel中传递的变量

Nic*_*675 4 url uri laravel laravel-4

可能是一个基本问题,但我似乎无法得到它.

我想把我的网址中的变量抓到我的控制器.

//索引视图

@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
Run Code Online (Sandbox Code Playgroud)

//路线

Route::get('printpackingslip', 'AdminController@getPackingSlip');
Run Code Online (Sandbox Code Playgroud)

//控制器

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);
    }
}
Run Code Online (Sandbox Code Playgroud)

当您点击链接时,它会转到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>
Run Code Online (Sandbox Code Playgroud)

//然后我的路线:

Route::get('printpackingslip/(:num)', 'AdminController@getPackingSlip');
Run Code Online (Sandbox Code Playgroud)

谢谢!

Ant*_*iro 10

这是Laravel 4吗?让我们回顾一下:

路线:

Route::get('printpackingslip/{order_id}', 'AdminController@getPackingSlip');
Run Code Online (Sandbox Code Playgroud)

控制器:

class AdminController extends BaseController {

    public function getPackingSlip($order_id)
    {
        return "you selected $order_id";
    }
}
Run Code Online (Sandbox Code Playgroud)

视图:

@foreach ($paymentInfos as $p)
   ...
   <td><a href="{{ URL::route('printpackingslip', array('order_id' => $p->order_id)) }}"> {{ $p->order_id }}</a></td>
   ...
@endforeach
Run Code Online (Sandbox Code Playgroud)