2017-03-27 110 views
0

我有一個側面的導航有4個按鈕:顯示通過分類鏈接Laravel 5.4

計算機
筆記本
移動
平板

我要的是一種方法,路線我的意見,我可以獲得僅屬於該類別的帖子。

CategoryContoller

public function show(Category $category) 
    { 
     $posts = Category::findOrFail($category)->posts()->get(); 
    return view('pages.computer',compact('category'))->with('posts',$posts); 

路線

Route::get('{category}',[ 
      'uses' => '[email protected]', 
      'as' => 'pages.computer']); 

走出這種方式,如果我把mywebsite /電腦,我得到一切都在電腦類別,相同的,如果我有mywebsite去的帖子/移動。
所以查詢工作。
現在,我怎麼:

{{路線( '')}}

我的意見,所以我可以得到每個類別通過sidenav鏈接顯示。

回答

0

您可以在視圖創建@foreach循環,使所有的類別,例如:

<ul> 

    @foreach($categories as $category) 

    <li><a href="categories/{{ $category->name }}">{{ $category->name }}</a></li> 

    @endforeach 

</ul> 

編輯:

讓所有的類別在看你的鏈接您必須首先在您的控制器中獲得它們,然後將它們傳遞給視圖:

首先你要創建一個路線:在現有的指數方法

Route::get('/',[ 
      'uses' => '[email protected]', 
      'as' => 'pages.index']); 

public function index { 
    $categories = Category::all(); 
    return view('pages.index',compact('categories')); 
} 
+0

簡單的方法,但我怎樣才能選擇類別名稱,而無需手動輸入mywebsite/Computers – TasosTogr

+0

是的,我知道那麼你可以通過他們循環,因爲我告訴你我的答案的頂部。你想達到什麼目的? –

+0

你說什麼給了我所有的類別!我想要的是:我的路線設置爲Route :: get('{category}')等等......現在我正在尋找的是使用刀片路線獲取鏈接以使用上述路線的方法,而類別字段是計算機或移動或任何其他我想要的字。 – TasosTogr

0

你可以用類似的嘗試。

<a href="{{ route('pages.computer', ['category' => $category->name]) }}"> 
    {{ $category->name }} 
</a> 

任何列使用的是在您的網址只需更換由->name

+0

,看起來像一個很好的方式去!我會回家後嘗試它,與此同時我的問題是,我不知道如何讓我的URI上顯示計算機類別名稱,而無需手動輸入它!有點困惑,出於某種原因。 如果我去{{route('pages.computer')}}我缺少一個URI參數{category}。 – TasosTogr

+0

你按照我所做的方式在花括號中傳遞類別。 – EddyTheDove