Ich habe folgende Tabellen:Abfrage derselben Tabelle mit Pivot-Tabelle
Benutzer - id, Benutzername, usw.
Gespräche - id, privat, usw.
conversation_user - id, user_id, conversation_id
Es gibt zwei Datensätze in der Tabelle conversation_user für jede geöffnete/begonnene Konversation (könnte mehr sein, wenn eine Konversation Multi-User ist). Eins für Benutzer als Empfänger/Empfänger, ein anderes für einen Benutzer als Absender. Lassen Sie uns sagen: user_id = 1, conversation_id = 1 und user_id = 2, conversation_id = 1.
Wie kann ich alle Benutzer/Benutzernamen auswählen, mit denen ich ein offenes Gespräch führe? Alle Teilnehmer, um genau zu sein.
Ich nehme an, ich muss eine Konversation ID bekommen, die ich bin Teilnehmer und dann eine Reverse-Lookup für andere Benutzer in der Konversation. Aber bisher kein Glück ... Bei diesem Reverse Lookup blieb ich stecken. Ich spiele mit Laravel 5.3 und MySQL.
Benötige ich wirklich, dass boolean? Wenn ich eine Konversation starte, erstellt sie automatisch Datensätze in Konversationen und Konversations-Benutzertabellen. Conversations ID ist eine Verbindung zwischen allen Teilnehmern und ein Beweis, dass die Konversation begonnen hat, IMHO ... – Vezlius
können Sie sich auf den ersten Benutzer verlassen, der an der Konversation angeschlossen ist, aber dann müssen Sie Zeitstempel verfolgen. Es ist Ihre Wahl. – Bartu