2016-08-11 17 views
1

私は間違って何かが下のビューでありLaravel 5.3、 を使用しています:

コントローラ:

$user=\Auth::user(); 
$articles = $user->articles; 
return view('articles.index', compact('articles')); 

ビュー:

@if ($articles!= null) 
<p>Yes</p> 
@else 
<p>No</p> 
@endif 

質問:
何の記事は返さない、それはそれでも「はい」と表示されます。 $articles!= nullは正しくありませんか?

+0

'articles.index'を参照してください==' articles'!? –

+1

この場合、 '$ articles'は何でもかまいませんがnullではありません。 'if($ articles-> count()> 0)' – revo

+0

'is_null($ articles)'や 'empty($ articles)'を試しましたか? –

答えて

5

$user->articlesは、nullのチェックに合格しない理由は、おそらくCollectionです。 $articlesはおそらくnullと同じではない空のコレクションを返しています。

代わりに、$articles->count()または$articles->isEmpty()を確認する必要があります。あなたのビューは次のようになります。

@if (!$articles->isEmpty()) 
    <p>Yes</p> 
@else 
    <p>No</p> 
@endif 

または

@if ($articles->count()) 
    <p>Yes</p> 
@else 
    <p>No</p> 
@endif 

https://laravel.com/docs/5.2/collections#method-countまたはhttps://laravel.com/docs/5.2/collections#method-isempty

関連する問題