Witam. Mam oto problem tego typu że próbuję zrobić selecat z wykorzystaniem relacji "many to many".
Mam tabelę places i categories oraz tabelę places_has_categories gdzie znajduję się powiązania dla poprzednich tabel.
Dany "place" może być przypisany do wielu kategorii i dana "category" może mieć wiele "places".
Moje zapytanie obecnie wygląda tak:
SELECT * FROM places p
JOIN places_has_categories phc on p.id = phc.place_id
JOIN categories c on c.id = phc.category_id
tabela "places"
id | name | active | description
tabela "categories"
id | name |
tabela "places_has_categories"
id | place_id | category_id
Oczekiwany rezultat:
[
[
'id',
'name',
'active',
'description',
'categories' => [
['id','name'],
['id','name'],
['id','name']
],
],
[
'id',
'name',
'active',
'description',
'categories' => [
['id','name'],
['id','name'],
['id','name']
]
]
]
Niestety nie działa to tak jak bym chciał. Dostaję coś na kształt listy "places_has_categories" z dopisanymi wartosciami z tabeli "places".
Chciałbym jako wynik uzyskać listę "places" i dla każdego "place" przypisaną listę kategorii.
Jak coś takiego mogę uzyskać
Dziękuję