web-dev-qa-db-ja.com

モデルのオブジェクトがlaravelで空であることを確認する方法は?

次のコードを使用して、モデルを使用してデータベースにアクセスしています。

_$persons = WysPerson::where('family_id', $id)->get();
_

次のコードを使用して、_$persons_が空かどうかを確認しました。

_if($persons){
        var_dump($persons);
    }
_

実際には_$persons_は空です。しかし、私は_var_dump_の結果を取得しています

object(Illuminate\Database\Eloquent\Collection)#417 (1) { ["items":protected]=> array(0) { } }

_$persons_が空であることをどのように確認しますか?誰か助けてもらえますか?

12
manoos
16
Angel Iliikov

カウント機能を使用する

@if(count($ persons))

3
edwingathige

雄弁なコレクションがある場合は、次のように関数isEmpty()を呼び出します。

$persons->isEmpty();

これはtrueまたはfalseを返します。お役に立てれば。

2
Lucas Gervas

これを試して。

is_null($var)?abort('empty'):abort('filled') 
1
Michael Mendoza

IsEmpty()メソッドを使用できます。

同時に、データをフェッチする前に、count()メソッドを使用して簡単に確認できます。

    $count = WysPerson::where('family_id', $id)->count();
    if($count==0){
       return redirect()->back()->withErrors('Empty Data');
     }
    $persons = WysPerson::where('family_id', $id)->get();
0
Karthik SWOT