Bir örnek üzerinden gidecek olursak;

Yazılar (post) ve yazar (author) adlı iki tablomuz olsun ve klasik olarak yazılar yazarlara aittir.

// Post model
public function author()
{
  return $this->belongsTo(Author::class);
}

View katmanımızda yazımızı gösterirken yazar bilgisinide göstermek istediğimizde yazımıza ait bir yazar var mı kontrol etmemiz gerekecektir aksi taktirde Trying to get property of non-object hatasını alırız.

@if ($post->author)
{{ $post->author->name }}
@else
  Anonim
@endif

Vera bir kaç kısa yöntemde kullanabiliriz.

// Laravel ozelligi
{{ $post->author->name  or 'Anonim' }}
//veya php 7 ile
{{ $post->author->name ?? 'Anonim' }}

Bunun yanında laravel oldukça güzel bir özellik sunmakta. Eğer model bulunamadığında varsayılan modeli bize sunabilir.

// Post model
public function author()
{
  return $this->belongsTo(Author::class)->withDefault();
}

Artık bize boş bir model dönecektir ancak bu problemimizi tam olarak çözmeyecektir. Default model için varsayılan değerleride sunmak oldukça güzel olurdu değil mi?

// Post model
public function author()
{
  return $this->belongsTo(Author::class)->withDefault([
    'name' => 'Anonim'
  ]);
}

Ve artık hiçbir kontrol yapmadan dilediğimiz gibi author ilişkisini kullanabiliriz.