web-dev-qa-db-ja.com

laravelでオブジェクトが空かどうかを確認する必要があります

雄弁なクエリを実行してビューを作成し、Bladeに渡します。

_@if($contacts != null)
//display contacts
@else
You dont have contacts
@endif
_

ただし、クエリから何も得られない場合でも、$ contactsには何かがあると常に想定されています。

dd($contacts)を実行して、以下を取得します。

_Collection {#247 ▼
  #items: []
}
_

空かどうかを確認するにはどうすればよいですか?

8
prgrm

それがあなたの例からのように見える雄弁なコレクションである場合、isEmptyコレクションヘルパー関数を使用できます。

@if(!$contacts->isEmpty())
//display contacts
@else
You dont have contacts
@endif

コレクションドキュメント

27
gsueagle2008

いくつかの方法があります:

if (!empty($contacts))

if (!contacts->isEmpty())

if (count($contacts) > 0)

if ($contacts->count() > 0)
8
Alexey Mezenin

Eloquentクエリは結果の配列を返すため、countを使用できます。

@if(count($contacts) > 0)
//Display contacts
@else
//No contacts
@endif
4
Michel

きみの $contactsは空です。 Bcozクエリはデータを取得できません。クエリがデータを取得できなくなると、空のアーリアが返されます。確認してください

    @if($contacts->isEmpty())
    {{ 'Empty' }} 
    @else
   {{ 'you have data' }}
    @endif
4
Sumon Mahmud

blank($contacts)を使用できます
ヘルパーLaravel: 空白

1
Dang Cong Duong

コントローラ内にある場合、これは役立ちます

if(empty($query) {
     //do something
}else{
//do some stuff
}
0
Rapheal Enike
if(count($profiles) > 0){
            return redirect()->action('NameController@name');
        }else{
            return view('user');
        }

これはコントローラーでも正常に動作します

0
Rapheal Enike