2017-05-04 4 views
0

ich dies in meinem Controller haben:Laravel Lazy Load

return view('message.Message')->with([ 
      'reactions' => $message->reaction->load('user, user.corporation')->paginate(2) 
     ]); 

Aber die faulen Last ->load(). funktioniert nicht. Ich erhalte:

Call to undefined relationship [user, user] on model [App\Core\Reaction\Reaction]. 

Aber der Benutzer Beziehung ist auf jeden Fall da !:

public function user() 
{ 
    return $this->belongsTo(User::class); 
} 

Wie konnte ich dies funktioniert?

Antwort

1

Sie verwenden nicht die richtigen Parameter im Aufruf zum Laden. Ich glaube, Sie wollen

Last ('user', 'user.corporation')

Eigentlich denke ich, wenn Sie 'user.corporation' laden 'user' wird automatisch geladen, so dass Sie nur brauchen

Last ('user.corporation')

+0

Whoops leid. Aber dann bekomme ich: '' 'Methode paginate existiert nicht.''' – Jamie

+0

Natürlich, weil Sie die Ansicht paginieren müssen, nicht die eifrige laden. Aber das ist eine andere Antwort für einen anderen Fehler in Ihrem Code. – Amarnasan

+0

danke also sollte es das sein ?: '' ''reaktionen' => $ message-> reaktion() -> paginate (2) -> laden ('benutzer', 'user.corporation')' '' – Jamie