我有模型用户,发布,评论和标签。如何从MySQL中选择与连接嵌套数组
- 用户创建帖子。
- 帖子可以有多个Comment和Tag。
每个模型都有它自己的表格,所以有表格'posts','comments'和'tags'。注释有一个名为'post_id'的外键,而标签有一个名为'post_tags'的many_to_many关系表,其中有两个字段:'post_id'和'tag_id'。
我希望得到一个嵌套的数组象下面这样:
- MySQL的查询我应该运行哪一个?
- 我想我需要改变结果与PHP来得到我的嵌套数组。怎么样?
非常感谢您的帮助:-)
[0] => Array
(
[Post] => Array
(
[id] => 1
[title] => First article
[content] => aaa
[created] => 2008-05-18 00:00:00
)
[Comment] => Array
(
[0] => Array
(
[id] => 1
[post_id] => 1
[author] => Daniel
[email] => [email protected]
[website] => http://example.com
[comment] => First comment
[created] => 2008-05-18 00:00:00
)
[1] => Array
(
[id] => 2
[post_id] => 1
[author] => Sam
[email] => [email protected]
[website] => http://example.net
[comment] => Second comment
[created] => 2008-05-18 00:00:00
)
)
[Tag] => Array
(
[0] => Array
(
[id] => 1
[name] => Awesome
)
[1] => Array
(
[id] => 2
[name] => Baking
)
)
)
[1] => Array
(
[Post] => Array
(...
第一件事同样的数据多次发送更为有效:你为什么要一个查询? – RobIII 2012-07-18 22:07:48
我们不能给你一个没有数据库模式的SQL查询,所以我们可以看到数据来自哪里。如果可能的话,这将是非常困难的,并且将涉及服务器端的结果数据的一些解码,这可能(可能将)比运行多个查询在计算上更昂贵。 – DaveRandom 2012-07-18 22:08:05
我已更新该问题以反映您的反馈。此外,不要求仅使用单个MySQL查询。我只是认为那是最好的。任何解决方案与多个查询是受欢迎的 – preyz 2012-07-19 08:18:19