Error while Eager loading a Eloquent model with multiple relationship in Laravel 5

245 views Asked by At

My User model have two relationships

public function group(){
                return $this->belongsTo('App\Group','group_id');
            }
public function profile()
            {
                return $this->hasOne('App\Profile','user_id');
            }

And Accessing them in Controller like

 $users = \App\User::with('group','profile')->get();

However, Retriving Profile Model's column give error (Inside a @foreach loop )

@foreach ($users as $user)
    URL::action('ProfileController@edit',[$user->profile->id])
@foreach ($users as $user)

Error

Trying to get property of non-object 
(View: C:\xampp\htdocs\laravel1\resources\views\user\index.blade.php)

Debug: while dd($user) gives out related data, why the error ?

P.S. dd($user) output link = http://bit.ly/1IxEpVk

1

There are 1 answers

1
Kun Andrei On BEST ANSWER

You are trying to get id from an null profile. Please check one of your results and see that inside relations property you have profile as null

Please check first if profile is null and only after that get your field

Good luck.