2014-07-22 204 views
0

使用下面的代码,我试图将通配符传递给我的控制器,但我不确定如何动态地传递URL,我不知道如何在不创建路由的情况下执行此操作每个网址,这将永远。目前,我试图做到这一点,像这样:Laravel的通配符

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

你可以发布你的路线文件,请 – Laurence

+0

你真的应该为每个URL创建一个规则,顺便说一句。 – rmobis

回答

0

您可以链接到一个通配符名为路线的其余部分:

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

然后用通配符剔除名称路线:

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