Skip to main content
Quick Tip

withDefault(): Prevent “property of non-object” error

// BelongsTo Default Models
// Let's say you have Post belonging to Author and then Blade code:
$post->author->name;
 
// Of course, you can prevent it like this:
$post->author->name ?? ''
// or
@$post->author->name
 
// But you can do it on Eloquent relationship level:
// this relation will return an empty App\Author model if no author is attached to the post
public function author() {
return $this->belongsTo(Author::class)->withDefault();
}
// or
public function author() {
return $this->belongsTo(Author::class)->withDefault([
'name' => 'Guest Author'
]);
}

Tip given by @coderahuljat

Enjoyed This Tip?

Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.

We'd Love Your Feedback

Tell us what you like or what we can improve

Feel free to share anything you like or dislike about this page or the platform in general.