Laravel Check If Relationship has Loaded or Not

27 Jul 2019 . Laravel . 570 views

One of the nice things of Larave is eager loading. Now, sometimes if you need to check whether the model has loaded the eager loading or not, then you need to check with relationLoaded(). Here is how you check this-

Here is my original code.

$users = App\User::with('profile')->first();

Now, I want to check whether $user load the relationship profile or not.


$users = App\User::with('profile')->first();

if($users->relationLoaded('posts')){
	// yes, it has been loaded
	// now, place your logic here
}

The function relationLoaded() returns true if relationship has loaded with the object, otherwise return false.

Reference