Also in meiner Datenbank habe ich eine Tabelle mit dem Namen website_tags
, die id, title
und so weiter enthält, und ich habe auch eine Tabelle namens websites
, mit ähnlicher Konstruktion. Und es gibt auch eine Tabelle mit dem Namen assigned_tags
, die die Beziehung zwischen Tags und Websites enthält, also die Relation id, tag_id and website_id
enthält.Laravel Abfrage Builder Anzahl von Join
Was ich brauche, ist diese Tabellen mit Abfrage zu verbinden, ich muss alle Tags erhalten und zählen, wie oft diese Tags verwendet werden. So zum Beispiel website_tags enthält folgende Informationen:
1: men
2: women
Und zugewiesen Tags enthalten wie id: tag_id: website_id
1: 1: 1
2: 1: 2
3: 2: 2
Also werde ich den Tag 'Männer' get verwendet wird in 2 Websites und Tag ' Frauen wird in 1. verwendet Wie sollte ich die Abfrage erstellen? jetzt Ich habe nämlich:
DB::table('website_tags')
->join('assigned_tags', 'website_tags.id', '=', 'assigned_tags.tag_id')
->select('website_tags.id as id', 'website_tags.title as title', DB::raw("count(assigned_tags.tag_id) as count"))-
>get();
Aber das ist falsch, diese Abfrage nur zählt Zeilen in assigned_tags.
yup, getan, dass vor einer Minute, trotzdem danke:) – Coffee