2016-06-30 4 views
0

In Datenbank i StrukturIn Laravel, erhalte ich die Ansicht des aktuellen Benutzers als Anhänger selbst anstelle von Anhängern

verfolgt haben sieht

 
id | following_id | followed_id 
1 |  3  | 1 
2 |  2  | 1

I 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 !!!!

Antwort

0

Sucht die userblock teilweise nach der Variablen $user? weil das immer noch auf den aktuellen Benutzer eingestellt ist. Ich würde verwenden diese:

@each('user.partials.userblock', $user->userFollows, 'user') 

dass die userblock Ansicht für jeden Follower wiederholen, trat der Folger in als $user

+0

Fehler vorbei sagen „Relationship-Methode ein Objekt vom Typ zurückgeben muss“, während $ mit user-> Follower als $ follower – pandesantos

+0

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

+0

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

Verwandte Themen