Глядя на этот массив, можно увидеть, что только значение foo6
отличается от каждого родительского ключа:внутреннего соединения массива приводит
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
)
)
запрос:
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 = ?
где ? = 1
Этот вероятно, потому, что в таблице объектов есть несколько записей для templates_id
:
+--------------+----------------+-----------------+
| objects_id | templates_id | objects_script |
+--------------+----------------+-----------------+
| 1 | 1 | Grapes |
| 2 | 1 | Heater |
| 3 | 1 | Quail Eggs |
| 4 | 2 | Milk |
| 5 | 3 | Lemon |
+--------------+----------------+-----------------+
мне интересно, есть ли встроенные функции MySql, которая может объединить foo6
в единственный массив, например, для достижения результата, как это:
Array
(
[foo1] => Apple
[foo2] => Banana
[foo3] => Carrots
[foo4] => Deer
[foo5] => Feather
[foo6] => Array
(
[0] => Grapes
[1] => Heater
[2] => Quail Eggs
)
)
Спасибо! Но это сбивает с толку, должен ли я создать новый столбец для 'page_properties_data'? –
@LeandroGarcia Нет, совсем нет. Запустите запрос и в PHP взорвите этот единственный столбец в собственный массив (как элемент большего массива для каждой строки) – Fluffeh