I wrote this query:
SELECT p.category, r.id, r.code, u.hash_name, r.created_at, r.updated_at FROM uploads AS u
JOIN refrigerators AS r ON u.id=r.image
JOIN products_refrigerators AS pr ON pr.refrigerator_id=r.id
JOIN products p ON pr.product_id = p.id
And this is the result:
Array
(
[0] => stdClass Object
(
[category] => lamps
[id] => 1
[code] => canopy
[path] => public/uploads/AAmAnnC2Yoij9QblcybTJefE5vTQrNZsfDCWqOPt.jpeg
[created_at] => 2018-02-21 11:15:06
[updated_at] => 2018-02-21 11:15:06
)
[1] => stdClass Object
(
[category] => panels
[id] => 1
[code] => canopy
[path] => public/uploads/AAmAnnC2Yoij9QblcybTJefE5vTQrNZsfDCWqOPt.jpeg
[created_at] => 2018-02-21 11:15:06
[updated_at] => 2018-02-21 11:15:06
)
[2] => stdClass Object
(
[category] => lamps
[id] => 2
[code] => canopy2
[path] => public/uploads/nqDT4gEXbF0opPmEpa1cPo5iPSulRoesYcgHiOA3.jpeg
[created_at] => 2018-02-21 11:17:44
[updated_at] => 2018-02-21 11:17:44
)
[3] => stdClass Object
(
[category] => lamps
[id] => 3
[code] => QWE
[path] => public/uploads/0TSrz6j3JJH17XgEs2161mOh8aYgDikujdYwrCWR.jpeg
[created_at] => 2018-02-21 11:18:13
[updated_at] => 2018-02-21 11:18:13
)
[4] => stdClass Object
(
[category] => panels
[id] => 3
[code] => QWE
[path] => public/uploads/0TSrz6j3JJH17XgEs2161mOh8aYgDikujdYwrCWR.jpeg
[created_at] => 2018-02-21 11:18:13
[updated_at] => 2018-02-21 11:18:13
)
)
My question is: is there a way to get a result like this (= transform the category
property into an array which groups all the related categories, if more than one exist)
Array
(
[0] => stdClass Object
(
[category] => Array
(
[0] => lamps
[1] => panels
)
[id] => 1
[code] => canopy
[path] => public/uploads/AAmAnnC2Yoij9QblcybTJefE5vTQrNZsfDCWqOPt.jpeg
[created_at] => 2018-02-21 11:15:06
[updated_at] => 2018-02-21 11:15:06
)
[1] => stdClass Object
(
[category] => Array
(
[0] => lamps
)
[id] => 2
[code] => canopy2
[path] => public/uploads/nqDT4gEXbF0opPmEpa1cPo5iPSulRoesYcgHiOA3.jpeg
[created_at] => 2018-02-21 11:17:44
[updated_at] => 2018-02-21 11:17:44
)
[2] => stdClass Object
(
[category] => Array
(
[0] => lamps
[1] => panels
)
[id] => 3
[code] => QWE
[path] => public/uploads/0TSrz6j3JJH17XgEs2161mOh8aYgDikujdYwrCWR.jpeg
[created_at] => 2018-02-21 11:18:13
[updated_at] => 2018-02-21 11:18:13
)
)
directly with MySQL or the only way is to manipulate the results (in PHP, in my case)?
Probably the answer is "you must use PHP" but I'm not a MySQL expert, that's why the question.