Я просто изучаю, как обернуть голову вокруг sql и php. У меня есть 4 таблицы, структурированные следующим образом
+-----------+ +------------+ +---------+ +----------+
| Project | | Slide | | Shape | | Points |
+-----------+ +------------+ +---------+ +----------+
| id | | id | | id | | id |
+-----------+ | project_id | | cont_id | | shape_id |
+------------+ +---------+ | x |
| y |
+----------+
Как вы можете видеть, таблицы привязаны идентификатором вплоть до точек, означающих, что проект будет содержать несколько слайдов, которые содержат несколько фигур, которые содержат несколько точек.
У меня есть SQL-запрос
SELECT slide.`id`, shape.`id`, points.`x_point`, points.`y_point`
FROM `project`, `slide`, `shape`, `points`
WHERE 1 = slide.`project_id`
AND slide.`id` = shape.`slide_id`
AND shape.`id` = points.`shape_id`
Я хочу, чтобы результаты этого запроса выглядели следующим образом:
[0] => stdClass Object
(
[id] => 27
[x] => 177
[y] => 177
)
[1] => stdClass Object
(
[id] => 27
[x] => 178
[y] => 423
)
[2] => stdClass Object
(
[id] => 27
[x] => 178
[y] => 419
)
[3] => stdClass Object
(
[id] => 27
[x] => 178
[y] => 413
)
[4] => stdClass Object
(
[id] => 27
[x] => 181
[y] => 399
)
[5] => stdClass Object
(
[id] => 27
[x] => 195
[y] => 387
)
[6] => stdClass Object
(
[id] => 27
[x] => 210
[y] => 381
)
[7] => stdClass Object
(
[id] => 27
[x] => 231
[y] => 372
)
[8] => stdClass Object
(
[id] => 27
[x] => 255
[y] => 368
)
[9] => stdClass Object
(
[id] => 27
[x] => 283
[y] => 368
)
... AND CONTINUED FOR A LONG TIME
Я хочу преобразовать этот зверский массив дерьма во что-то более похожее на это
[9] => stdClass Object
(
[id] => ID OF LIKE SHAPES
[x] => Array(ALL THE X POINTS)
[y] => ARRAY(ALL THE Y Points)
)
Я не могу за всю жизнь понять, как преобразовать это в такой массив.
Если это не может быть сделано с запросом, который я разработал, есть лучший запрос. Возможно, тот, который захватывает точки, затем берет, что помещает его в массив из точек... Я думаю, что у меня просто появилась идея...
Новая информация,
Итак, я добавил ответ на этот вопрос, я не знаю, стандартный ли это. Чтобы помочь другим ответам, если мое не является хорошим решением, я также добавлю свой мыслительный процесс.
Посмотрите мой ответ ниже для получения дополнительной информации.
Также как ORM сравнивается с моим алгоритмом ниже?