2016-08-30 2 views
0

でカテゴリを表示するには、私はすべての記事ページに表示するカテゴリの&リストを持っています。Laravel - 今、私はそれ自身の別のページに各カテゴリの記事を表示する必要があるものの、ブログサイトのID

のは、私が「Javascriptを」だったと私はページ上に表示するJavaScriptのカテゴリで投稿のみを望んでいたcategorieを持っていたとしましょう。

これを行うにはどのような正しいコードがありますか?ここに例があります。太字の「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 
+0

更新コード部分に

site.com/posts/javascriptとコメントとしてではないとして 'info'を含めますコード。現時点でのforeach – C2486

+0

は、あなたの代わりに '$カテゴリの$のcategory''が必要かもしれませforeachの@($カテゴリとして$カテゴリ) しかし、それがすべて表示されますカテゴリーだけではありません。私はLaravelの新人だが、それ以上のものが必要だと思う。 – C2486

+0

で> $ id'私が持っている - - 株式コードは、あなたが持っているものを正確に – n31l

答えて

1

: post.phpモデル ポストはモデルを拡張します { protected $ primaryKey = 'id';

function withCategories() { 
     return $this->hasOne('App\Categories', 'id', 'category_id'); 
    } 

    public function show($id){ 
     Post::with('withCategories')->where('category_id', $id)->get(); //the output of articles of the category 
    } 
} 

$ idはURLのパラメータです:posts.blade.php

<table> 
<tbody> 
@foreach ($posts as $post) 
<tr> 
<th>{{ $post->id }}</th> 
<td>{{ $post->name }}</td> 
<td>{{ $post->withCategories->name }}</td> <!-- Category name--> 
</tr> 
@endforeach 
</tbody> 
</table> 
</div> 
+0

次のコードでcategory.phpモデルを更新していただきありがとうございます。 '<?php 名前空間App。 Illuminate \ Database \ Eloquent \ Modelを使用します。 クラスカテゴリ拡張モデル { protected $ table = 'categories'; パブリック関数のポスト(){ \t戻ります$ this-> hasManyの( 'アプリケーション\ポスト'); } 関数withCategories(){ リターンの$ this - > hasOneの( 'アプリケーション\カテゴリー'、 'ID'、 'C​​ATEGORY_ID'); } public function show($ id){ self :: with( 'withCategories') - > where( 'category_id'、$ id) - > get(); } } } これは私が必要なものですか? – n31l

+0

category.phpモデルを更新しません。 article.phpモデルの私のサンプルコード –

関連する問題