2017-12-20 1 views
-1

Ich habe zwei Tabellen in Firebase, Benutzer und Kommentare. Ich zeige Kommentare in Aktivität mit FirebaseRecyclerAdapter und whene ich es zeigen, würde Ich mag Benutzernamen Benutzer erhalten, die diesen Kommentar gepostetJoin in Firebase Android

{ 
    "comments" : { 
    "-L0hqpk1BGX36jNvaA-h" : { 
     "comment" : "Hello" 
     "date_post" : 1513671580718, 
     "user_id" : "ksRMjacofzZDX1ir0m9iB2HWUhV2" 
     } 
    }, 
    "users" : { 
     "ksRMjacofzZDX1ir0m9iB2HWUhV2" : { 
     "username" : "user1" 
     } 
    } 
} 

Gibt es eine gute Möglichkeit, Benutzernamen dieser Person zu bekommen, wenn ich FirebaseRecyclerView benutzen?

Vielen Dank.

Antwort

3

Ich würde vorschlagen, dass Sie den Benutzernamen auch mit der Kommentartabelle hinzufügen, dann denke ich, es wird sehr einfach sein, es abzufragen und es zu zeigen. Nun, der Grund, warum ich das sage ist, dass Firebase anders als SQL ist und Denormalisierung normal ist Firebase.

+0

Vielen Dank für Ihre Antwort, ich denke, ich werde Ihren Vorschlag machen, anstatt eine weitere Anfrage auf der Tabelle Benutzer. – dz00dz

1

Das ist richtig. Sie sollten den Benutzernamen wahrscheinlich der Kommentartabelle hinzufügen. Auf diese Weise müssen Sie das Benutzerprofil nicht herunterladen, nur um den Benutzernamen zu erhalten. Wenn Sie jedoch wirklich den Benutzernamen über ihr Profil erhalten möchten, ist es ziemlich einfach, da Sie bereits ihre ID haben. Tun Sie dies einfach:

+0

Ich habe dies in PopulateViewHolder tun, aber ich suche, ob es eine bessere Lösung zu tun, was ich erklärte. – dz00dz