おそらく基本的な質問ですが、私には理解できないようです。
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');
ありがとう!