2016-04-26 13 views
2

Ich frage mich, was der beste Weg wäre, ein Follow-System einzurichten, wo ein Benutzer einem anderen Benutzer folgen kann. Kann es so einfach sein wie das Erstellen einer Foldertabelle und das Einfügen von IDs von Benutzern, die der ID des anderen Benutzers folgen? Vielen Dank.Laravel 5.2 Folgen Benutzer System

+2

Gerade eine freundliche Spitze, können Sie diese Seite lesen über wollen: [The How-To -Ask Guide] (https://stackoverflow.com/help/how-to-ask), damit Sie immer sicher sein können, dass Ihre Fragen leicht zu beantworten und so klar wie möglich sind. Stellen Sie sicher, dass Sie alle Anstrengungen unternommen haben, die Sie unternommen haben, um das Problem zu beheben, das Sie haben, und was passiert ist, als Sie diese Korrekturen versuchten. Vergessen Sie auch nicht Ihren Showcode und eventuelle Fehlermeldungen! –

+0

Danke für die Köpfe hoch. Ich war mir überhaupt nicht sicher. Es gab ein Laracasts-Video, aber es ist jetzt sehr veraltet und würde nicht richtig mit Laravel funktionieren. 5.2 – GarethFrazer

+0

Warum ist das geschlossen? Die Frage ist ziemlich klar und notwendig. Der Fragesteller sucht nach der Logik hinter dem Code und fragt nicht nach dem gesamten Code. Ich denke, stackoverflow muss in dieser Art von Themen benutzerfreundlicher sein. – Nikonah

Antwort

7

Ja, es ist sehr einfach, diese Art von Leistung mit Laravel zu erstellen.

Ich schlage vor, Sie diese ein: Friendship system with Laravel : Many to Many relationship

alles, was Sie tun müssen, ist Freund von Folger zu ersetzen.

Beispiel:

Erstellen Sie eine Tabelle:

followers: id, user_id, follower_id.

in Ihrem User-Modell werden Sie diese Beziehung haben

function followers() 
{ 
    return $this->belongsToMany('App\User', 'followers', 'user_id', 'follower_id'); 
} 

function follow(User $user) { 
    $this->followers()->attach($user->id); 
} 

function unfollow(User $user) { 
    $this->followers()->detach($user->id); 
} 

Get User 1 Verfolger:

$user = User::find(1); 
$user->followers; 

Benutzer 1 Follow Benutzer 2

$user1 = User::find(1); 
$user2 = User::find(2); 
$user1->follow($user2); 

Benutzer 1 entfolgen Benutzer 2

$user1 = User::find(1); 
$user2 = User::find(2); 
$user1->unfollow($user2); 
+0

Wie würde ich dies mit einem Follow-Button für jeden Benutzer implementieren? – GarethFrazer

+0

@zorx Ich möchte fragen, ob ich die Follower-Tabelle in orther haben muss, um alle folgenden Aktionen zu speichern, oder gibt es eine andere Möglichkeit, dieses Problem zu lösen? Ich weiß, es ist wahrscheinlich eine dumme Frage, aber es ist bereits klar, wie Sie das mit der zusätzlichen Tabelle machen, ich finde die logische Art, die Frage zu stellen. Es sind nur meine Datenbank-Tabellen, da sind schon zu viele von ihnen:/ – Nikonah

+0

BTW gibt es eine Sache, die mich stört. Wie erkennen Sie, ob der Benutzer dem anderen bereits folgt? So kann ein Benutzer dem anderen nicht mehr als einmal folgen? – Nikonah