web-dev-qa-db-ja.com

Laravelリレーションが空かどうかを確認

いくつかの関係を持つオブジェクトがあり、これらの関係が空であるかどうかを確認する必要があります。is_null、isset、!= undefinedなどで確認しようとしていますが、何も機能しません。これが空の場合の関係です。

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

これを簡単に確認する方法はありますか?ありがとう。

11
Jessy

最初に、Relationがロードされているかどうかを確認することができます

if ($user->relationLoaded('posts'))...

次に、読み込まれたときに、空のCollectionまたはNullであるかどうかを確認する必要があります。

if ($user->posts()->exists())...

PS

use Illuminate\Database\Eloquent\Relations\Relation;
use Illuminate\Database\Eloquent\Collection;
0