Cara Mengatasi Error “Trying to get property of non-object” di Laravel

Pelajari cara mengatasi error “Trying to get property of non-object” di Laravel. Solusi lengkap agar Blade tidak error saat data null.

laravel trying to get property of non-object laravel error blade null cara mengatasi laravel null object optional helper laravel

📂 Laravel | ✍ Kurnia Andi Nugroho | 🎯 Beginner ✅ Telah dilihat 31 kali

Cara Mengatasi Error “Trying to get property of non-object” di Laravel

Problem

Saat menampilkan data dari database di Blade, terkadang muncul error:

Trying to get property 'name' of non-object

Kasus umum:

<p>Nama user: {{ $user->name }}</p>

Jika $user ternyata null (misalnya data tidak ditemukan di database), Laravel akan melempar error tersebut dan halaman tidak bisa di-render.

Solution

  1. Cek apakah data ada sebelum akses properti Gunakan optional() helper:
<p>Nama user: {{ optional($user)->name ?? 'Data tidak tersedia' }}</p>
  1. Gunakan conditional di Blade
@if($user)
    <p>Nama user: {{ $user->name }}</p>
@else
    <p>Data tidak tersedia</p>
@endif
  1. Pastikan query benar Contoh query yang bisa menyebabkan null:
$user = User::where('id', 100)->first();

Jika user dengan ID 100 tidak ada, $user akan null. Bisa diganti dengan findOrFail jika ingin otomatis throw 404:

$user = User::findOrFail(100); // otomatis 404 jika tidak ditemukan
  1. Gunakan eager load untuk relasi Jika error muncul di relasi:
$posts = Post::with('user')->get();

Di Blade:

@foreach($posts as $post)
    <p>{{ optional($post->user)->name ?? 'Unknown' }}</p>
@endforeach

Dengan cara ini, error Trying to get property of non-object bisa dihindari.