【发布时间】:2014-01-18 15:23:04
【问题描述】:
我一直在努力尝试为 MySQL 获取一个干净的 HABTM 查询
我有以下表格
auth_users
id:1,名称:测试
auth_groups_users
user_id: 1,group_id: 1
user_id: 1,group_id: 2
auth_groups
id:1,名称:default_group
id:2,名称:another_group
我正在拉一个用户,在结果中我也想获得组。
问题是我如何正确加入它... 我是执行左连接……还是常规……我是先加入链接表,然后再加入什么条件? 那么接下来呢?
谢谢,如果您需要更多信息,请告诉我。
我的开始...
"从auth_users 选择 * 作为User
左连接auth_groups_users ON (auth_groups_users.user_id = User.id)
左连接 auth_groups AS Group ON (Group.id = auth_groups_users.group_id)
在哪里User.id='1';"
这是正确的吗?
然后我还想在用户中将组分组到它自己的结果中......而不是同一用户的多个结果......
所以我希望我的结果是:
array(
'id' => 1,
'name' => 'test',
'Groups' => array(
0 => array(
'id' => 1,
'name' => 'default_group'
),
1 => array(
'id' => 2,
'name' => 'another_group'
)
)
)
【问题讨论】:
标签: php mysql has-and-belongs-to-many