In Datenbank i StrukturIn Laravel, erhalte ich die Ansicht des aktuellen Benutzers als Anhänger selbst anstelle von Anhängern
verfolgt haben siehtid | following_id | followed_id 1 | 3 | 1 2 | 2 | 1I have user model and it looks like this
public function userFollows() { return $this->belongsToMany('Diskourse\Models\User','followers','following_id','followed_id');
} public function userIsFollowed() { return $this->belongsToMany('Diskourse\Models\User','followers','followed_id','following_id'); } public function followers() { return $this->userIsFollowed->merge($this->userFollows); }
Und endlich Ansicht wie diese
<h4>Followers</h4> @if(!$user->followers()->count()) <p>No followers</p> @endif @foreach($user->followers() as $follower) @include('user/partials/userblock') @endforeach </div> </div>
Wenn es funktioniert, sollte es Benutzer 3 und 2 als Nachfolger von 1 anzeigen. Stattdessen wird der aktuelle Benutzerprofilblock zweimal angezeigt. Bitte helfen !!!!
Fehler vorbei sagen „Relationship-Methode ein Objekt vom Typ zurückgeben muss“, während $ mit user-> Follower als $ follower – pandesantos
Warum verschmelzen Sie die Follower und die userIsFollowed-Collections in Ihrer 'followers()' Relation? OK siehe Bearbeiten, ich habe Ihre Beziehungen nicht gut verstanden, die Verwendung von 'userFollows' sollte funktionieren – Jeff
ok ich habe die Beziehung von oben zu dieser geändert öffentliche Funktion followers() { Rückgabe $ this-> gehört zu mehreren ('Diskourse \ Models \ Benutzer ',' Follower ',' Folge-ID ',' Benutzer-ID ') -> get(); } noch bin vor mir das gleiche Problem – pandesantos