Laravel的通配符

时间:2014-07-22 05:57:05

标签: laravel laravel-4

使用以下代码,我正在尝试将通配符传递给我的控制器,但我不确定如何动态传递URL而且我不确定如何在不为每个URL创建路由的情况下执行此操作,这需要永远。目前,我正试图这样做:

<a href="{{ route('purchase-get') }}/$item->name">

以下是代码的其余部分

                  <tbody class="text-center">
                      @foreach (array_chunk($items->all(), 3) as $item_each)
                      <tr>
                          @foreach($item_each as $item)
                            <td>
                              <a href="{{ route('purchase-get') }}/$item->name">
                                {{ HTML::image($item->image_url, 'item-image', array('class' => 'item-image-row')) }}
                                <h4>{{ $item->item }}</h4>
                                <span class="text-muted">{{ $item->cost }}</span>
                              </a>
                            </td>
                          @endforeach
                        </tr>
                        @endforeach
                    </tbody>

1 个答案:

答案 0 :(得分:0)

您可以链接到带有命名路由的通配符:

Route::get('/', array('as' => 'index', function()
{
    $slug = 'product-1';
    return '<a href="'.URL::route('products', $slug).'">link to product</a>';
}));

然后使用通配符slug捕获名称路由:

Route::get('products/{slug}', array('as' => 'products', function($slug)
{
    $product = Product::where('slug','=',$slug)->first();
    return $product;
}));