【发布时间】:2018-08-04 15:23:21
【问题描述】:
我在 mysql 数据库中有这 3 个表(我也不知道它是否完全标准化?
或者有没有更好的方法来设计这个表来获取这个查询?)
create table T_Users(
id int
name varchar (50)
picture varchar (11)
);
create table T_Groups(
id int
name varchar (50)
admin_id int
);
create table T_Group_Users(
u_id int
g_id int
);
现在我想获取指定用户加入的所有组,以及该组的所有成员及其详细信息(名称和图片) 并通过 Php 创建一个这样的数组(这是一个例子):
$groups = [ // Groups user by id = 1 joined 'em
[
'id' => 1,
'name' => 'G_1',
'member' => [
['name' => 'R', 'picture'=>''],
['name' => 'S', 'picture'=>'14.jpg'],
['name' => 'X', 'picture'=>'']
]
],
[
'id' => 5,
'name' => 'G_3',
'member' => [
['name' => 'T', 'picture'=>'11.jpg'],
['name' => 'S', 'picture'=>'14.jpg']
]
]
]
(指定用户由id确定,u_id为外键T_Users而g_id为外键T_Groups)
【问题讨论】:
-
@emineminems 我不明白我应该把 id 放在哪里?这个查询只返回
false。表格不为空 -
如果表不是空的,那么它应该给出具有适当id的结果。
-
@mohit-kumar 否 查询在
T_Groups.g_id = T_Groups中存在错误@ T_Groups 没有 g_id -
错字
ON T_Groups.id = T_Group_Users.g_id