检索并格式化MySQL结果列中的所有hasMany记录

时间:2012-07-07 00:27:11

标签: php mysql sql join has-many

我不确定这是否可以直接来自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 个答案:

答案 0 :(得分:1)

1)是的,GROUP_CONCAT()可以做到(虽然我不这样做是最好的方式)。

2)是的,GROUP BY作者