Ich habe drei Tabellen: uploads
, categories
und eine many-to-many
Tabelle namens category_upload
.Auswahl von zehn Top-Kategorien basierend auf einer Spalte in einer anderen Tabelle mit beredten
den Tabellen wie folgt aussehen:
**categories**
id
name
**uploads**
id
name
downloads(integer)
**category_upload**
id
category_id
upload_id
Jedes Mal, wenn ich ein Download „Upload“ der Wert in der Spalte Downloads von 1.
erhöht Was ich tun möchte, konnte aber nicht herauszufinden, wie man sogar beginnt, ist Top 10 Kategorien basierend auf der downloads
Spalte in der uploads
Tabelle zu wählen. Also, wenn die Summe der downloads
Spalte die größte für alle Uploads von einer bestimmten Kategorie ist, sollte diese Kategorie Nummer eins sein und so weiter bis Nummer zehn.
Kann dies mit eloquent oder nur SQL erreicht werden und wie? Irgendwelche Tipps werden geschätzt!
Hier ist, wie ich habe meine Beziehungen in den Modellen ein:
Kategorie:
public function uploads(){
return $this->belongsToMany('App\Upload');
}
Upload:
public function category(){
return $this->belongsToMany('App\Category');
}
Beispieldaten und die gewünschten Ergebnisse würde wirklich helfen. Was ist zum Beispiel ein "Buch"? –
@GordonLinoff Buch ist ein Upload, ich habe es korrigiert. –