Witam.
Mam pewien problem w laravelu. Na początek struktura tabel.
tabela tags: id,name
tabela tags_ref: id, tag_id, post_id
Jak więc widać mam tabelę "tags" gdzie trzymam listę wszystkich tagów występujących w aplikacji oraz tags_ref gdzie mam zapisywane relacje pomiędzy danym postem a tagami przypisanymi do niego.
Chciałbym w zapytaniu SQL zliczyć powtarzające się tagi (przez co otrzymam liczbę postów dla danego tagu) a także złączyć tabelę "tags" aby wynik zapytania posiadał nazwy tagów.
Mam taki oto kod:
DB::table('tags_ref')
->join('tags', 'tags_ref.tag_id', '=', 'tags.id')
->select(DB::raw('count(tag_id) as quantity, tag_id'))
->groupBy('tag_id')
->orderBy('quantity', 'desc')
->get();
I prawie działa dobrze, bo jako wynik otrzymuję listę tagów o danych id wraz z ilością wystąpieńm ale zapytanie nie pobiera mi danych z tabeli "tags". Przez co nie mam nazw tagów.
Co jest nie tak w powyższym zapytaniu? Jak można powyższe zapytanie poprawić?
Dziękuję