Mengatasi ErrorException: Trying to get property of non-object

ALASAN MENGAPA INI TERJADI (PENJELASAN)

misalkan kita memiliki 2 tabel pengguna dan langganan .

1 pengguna memiliki 1 langganan

DALAM MODEL PENGGUNA, kami punya

public function subscription()
{
    return $this->hasOne('App\Subscription','user_id');
}

kami dapat mengakses detail langganan sebagai berikut

$users = User:all();

foreach($users as $user){
    echo $user->subscription;
}

jika salah satu pengguna tidak memiliki langganan, yang bisa menjadi kasus. kami tidak dapat menggunakan fungsi panah lebih lanjut setelah berlangganan seperti di bawah ini

$user->subscription->abc   [this will not work] 
$user->subscription['abc']  [this will work]

tetapi jika pengguna memiliki langganan

$user->subscription->abc   [this will work] 

CATATAN: coba letakkan kondisi if seperti ini

if($user->subscription){
 return $user->subscription->abc; 

} 

Comments