4

可能是一个基本问题,但我似乎无法理解。

我想将我的 url 中的变量抓取到我的控制器。

// 索引视图

@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::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');

谢谢!

4

1 回答 1

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
于 2013-09-27T17:21:21.933 回答