duandai3964 2015-06-11 20:34
浏览 82
已采纳

Eager在Laravel 5中加载具有多个关系的Eloquent模型时出错

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\laravel1esources\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条回答 默认 最新

  • doukoumi3389 2015-06-11 21:13
    关注

    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.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?