Looking at this array, one can see that only the foo6 value differs from each parent key:
Array
(
[0] => Array
(
[foo1] => Apple
[foo2] => Banana
[foo3] => Carrots
[foo4] => Deer
[foo5] => Feather
[foo6] => Grapes
)
[1] => Array
(
[foo1] => Apple
[foo2] => Banana
[foo3] => Carrots
[foo4] => Deer
[foo5] => Feather
[foo6] => Heater
)
[2] => Array
(
[foo1] => Apple
[foo2] => Banana
[foo3] => Carrots
[foo4] => Deer
[foo5] => Feather
[foo6] => Quail Eggs
)
)
The query:
SELECT
tpp.page_master_properties_style AS foo1,
tpp.page_master_properties_bg AS foo2,
tpp.page_master_properties_data AS foo3,
tpp.page_properties_style AS foo4,
tpp.page_properties_bg AS foo5,
tpp.page_properties_data AS foo6,
tobj.objects_script AS foo6
FROM templates t
INNER JOIN category tc
ON t.category_id = tc.category_id
INNER JOIN page_properties tpp
ON t.templates_id = tpp.templates_id
INNER JOIN objects tobj
ON t.templates_id = tobj.templates_id
WHERE
t.templates_id = ?
where ? = 1
This is probably because Table objects has multiple entry for templates_id:
+--------------+----------------+-----------------+
| objects_id | templates_id | objects_script |
+--------------+----------------+-----------------+
| 1 | 1 | Grapes |
| 2 | 1 | Heater |
| 3 | 1 | Quail Eggs |
| 4 | 2 | Milk |
| 5 | 3 | Lemon |
+--------------+----------------+-----------------+
I’m wondering is there any built-in mySQL function that can combine foo6 into a singular array for example to achieve result like this:
Array
(
[foo1] => Apple
[foo2] => Banana
[foo3] => Carrots
[foo4] => Deer
[foo5] => Feather
[foo6] => Array
(
[0] => Grapes
[1] => Heater
[2] => Quail Eggs
)
)
This looks like a job for group_concat in the mysql arsenal:
This will group all the rows in
tpp.page_properties_datatogether into the only row of data and split them by commas – which you can then easily explode into an array when you loop through the dataset.