检索和格式化所有MySQL结果列中的许多记录


Retrieving and formatting all hasMany records in column of a MySQL result

我不确定这是否可以直接来自 MySQL 查询(之后无需操作数据),但我一直在思考一些事情......

假设我们有一个表格、作者和另一本书。作者可以拥有许多书籍,这由书籍表中的author_id列指示。

有没有办法执行以下查询:

1) 检索单个作者记录,其列名称为"books",其中包含属于作者的一系列书籍记录。

2)相同的结果,但对于数据库中的所有作者。

任何

关于这是否可能的意见,以及任何方法将不胜感激!

更新

下面是第一个查询的所需输出的示例:

stdClass Object
(
[id] => 1
[name] => Test Author
[age] => 28
[books] => Array
    (
        [0] => stdClass Object
            (
                [title] => Book 1
                [id] => 1
            )
        [1] => stdClass Object
            (
                [title] => Book 2
                [id] => 2
            )
    )
)

1)是的,GROUP_CONCAT()可以做到这一点(尽管我不认为这是最好的方法)。

2)是的,GROUP BY作者