2013-09-27 65 views
4

可能是一个基本问题,但我似乎无法得到它。获取URL中传递的变量Laravel

我想抓住我的URL变量到我的控制器。

//索引视图

@foreach ($paymentInfos as $p) 
     <tr> 
      <td><a href="{{ URL::action('[email protected]', 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::get('printpackingslip', '[email protected]'); 

//控制器

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)', '[email protected]'); 

谢谢!

回答

10

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

路线:

Route::get('printpackingslip/{order_id}', '[email protected]'); 

控制器:

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 
+0

辉煌!一旦我看到它似乎很简单...再次感谢! – Nick8675