2016-04-26 7 views
1

私はLaravel 5.2を使用しています。
私の質問は:
変数はビューで分類できますか?Laravel 5.2:変数はビューで分類できますか?

例えば

:コントローラがあり
、それはこのように、現在のユーザーに属する記事の全てを取得することができます:

public function index() 
{ 
    $user=\Auth::user(); 
    $articles = $user->articles; 

    return view('user.dashboard.index', compact('articles')); 
} 

ビューで、これらのコードは以下のように、記事を表示することができます:

<div class="card"> 
    <div class="card-header"> 
     Articles 
    </div> 
    @if ($articles!=null) 
    <table class="table table-sm"> 
     <thead> 
     <tr> 
      <th>title</th> 
      <th>created time</th> 
      <th>status</th> 

     </tr> 
     </thead> 
     <tbody> 
     @foreach ($articles as $article) 
     <tr> 
      <td>{{$article->title}}</td> 
      <td>{{$article->created_at}}</td> 
      <td>{{$article->status}}</td> 
     </tr> 
     @endforeach 
     </tbody> 
    </table> 
    @else 
    <p>Nothing</p> 
    @endif 
</div> 

これらの記事には2種類に分類することができる。
1、「公表」、ステータスが1です。
2、 "未公開"、ステータスは0です。

質問:
私が発表された論文は、カードに表示されたいと思う(DIV CLASS =「カード」)、および、別のカードに示される未発表の記事。
ビューで分類できますか?したがって、2回クエリする必要はありません。

+0

あなたの 'foreach'ループの' status'をテストするだけではどうですか? @if($ article-> status === 1){'公開カード'} @else {'未発行カード'} @ endif'のようなものです。 – camelCase

+0

あなたはカードで何を意味するかをもっと説明できますか? –

答えて

1

は、本物のものにpublished1を変更する回収方法where()

@foreach ($articles->where('published', 1)->all() as $article) 

を使用してみてください。

+0

私はそれがうまくいかないと確信しています。私は ' - > all()'は ' - > get()'でなければならないと思います。 –

+0

@Slence、この例は正式な文書です(私の答えの中のリンクをクリックしてください)。 –

+0

* allメソッドは、コレクションで表される基になる配列を返します。* - https://laravel.com/docs/5.1/collections#method-all –