2011-01-10 9 views
0

Ich habe eine App, mit der Benutzer Musik hören können. Jeder Künstler hat ein bestimmtes Genre für sich. Die Lieder haben keine Genres.So entwerfen Sie eine Empfehlung Seite

Ich brauche eine Empfehlung Seite basierend auf welcher Song-Genre der Benutzer von Zeit zu Zeit betrachtet.

Betrachten Sie dieses Beispiel.

Ive: Benutzer Joe Künstler Ben. Hat Genre akustisch. Hat 1 Lied. Künstler Alex. Hat Genre Jazz, hat 1 Lied. Künstler Hannah. Hat Genre akustisch. Hat 1 Lied.

Benutzer Joe hört zweimal auf Alex 'Song und hört 3 Mal auf Bens Song. Auf der Empfehlungsseite sollte es Ben und Hannah zeigen. Da Joe gerne mehr auf akustische Medien hört.

Wie soll ich das entwerfen? Sollte ich eine Tabelle haben, die diese Daten verfolgt? Wenn ja, welche Spalten sollten existieren?

Oder sollte ich eine Art Aggregation durchführen, wenn stattdessen die Empfehlungsseite geladen wird?

Antwort

0

Sie benötigen eine has_many-Verbindung zwischen Songs und Benutzern. Dieser Join würde zusätzlich zur user_id und song_id einen Listen-Zähler haben. Dann können Sie Benutzer finden, die dieselben Lieder wie der einzelne Benutzer angehört haben, die Lieder zurückgeben, die die Benutzer am meisten gehört haben und die zuerst von denjenigen Benutzern bestellt wurden, die das gleiche Genre haben, und denjenigen, die dies nicht tun.

Verwandte Themen