2016-08-30 11 views
0

ブログのサイトにはすべて投稿があります&カテゴリのリストはページに表示されますが、各カテゴリの投稿は別のページに表示する必要があります。各カテゴリを別々のページに表示する - laravel

「Javascript」というカテゴリがあり、ページに表示されるjavascriptのカテゴリの投稿のみが必要だったとします。

これを行うにはどのような正しいコードがありますか?ここに私が現時点で持っているものの例があります。

categoriesController.php

public function show($id) 
{ 
$post->withCategories($Categories)->$id->($id as **javascript)** 
} 

javascript.blade.php(対応ビュー)

<tbody> 
@foreach ($categories as $category->$id>**javascript**) 
<tr> 
<th>{{ $category->id }}</th> 
<td>{{ $category->name }}</td> 
</tr> 
@endforeach 
</tbody> 
</table> 
</div> <!-- end of .col 

答えて

1

あなたがwhereHasを使用することができ、適切laravelモデルで関係を設定した場合:

$posts = Post::whereHas('categories', function ($query) { 
    $query->where('name', '=', 'javascript'); 
})->get(); 

しかし、私は、個人的に注文を裏返してビュー内の

$category = Category::with('posts')->where('name', '=', 'javascript')->get(); 

そして:そんなに

{{ $category->name }}<br> 
@foreach(category->posts as $post) 
    {{ $post->title }}<br> 
@endforeach 
+0

おかげ最初の名前でそれを照会しそう! – n31l

関連する問題