我有共同的情况,但我找不到共同的解决方案......
想象一下我有两个表,如作者和相应的书籍:
作者
+----+-----------+
| id | name |
+----+-----------+
| 1 | O.Connor |
| 2 | F.Myler |
+----+-----------+
Run Code Online (Sandbox Code Playgroud)
图书
+----+-----------+-----------+----------------+
| id | author_id | title | number_of_pages|
+----+-----------+-----------+----------------+
| 1 | 1 |Book 1 |315 |
| 2 | 1 |Book 2 |265 |
+----+-----------+-----------+----------------+
Run Code Online (Sandbox Code Playgroud)
我想在一个sql查询中从数据库获取数据(我使用mySQL,但这并不重要,我想要一个独立于数据库的解决方案),使用JOIN,例如:
SELECT A.*, B.title as book_title, B.number_of_pages as book_pages FROM authors A LEFT JOIN books B ON B.author_id=A.id
Run Code Online (Sandbox Code Playgroud)
由于大型数据库的生产力问题,我想避免循环中的多个查询。然后我需要将第二个表中的数据嵌套为子数组,以避免拥有相同数据的多个副本。换句话说,我需要将数据库的平面结果转换为嵌套的多维数组。它应该给出类似的内容:
[
{
"id": 3,
"name": "O.Connor",
"birth_date": "05.06.1985",
"from": "England",
"mother": "", …Run Code Online (Sandbox Code Playgroud)