【发布时间】:2017-04-29 22:02:07
【问题描述】:
我有一个 JSON 文件,我将通过 PHP 程序运行它来填充 MySQL 数据库。
我拥有大部分数据库表和列,但我遇到了逻辑问题。
我正在处理会议,以及参加会议的人。
每个人要参加多个不同的会议,每个会议都有多人参加。
每个人都有一个唯一的 ID,每个会议都有一个唯一的 ID。
我的问题:
我知道我不能将每个人的多个 ID 放在一行中,因此我试图想办法将一个人的 ID 与多个会议 ID 关联起来,反之亦然。
最终,我希望能够运行查询,以返回某人正在参加的所有会议以及参加会议的人员。
以下是我为某人提供的信息的示例:
"District": "Massachusetts District 1",
"Email": null,
"FirstName": "Lynn",
"Id": 14869,
"LastName": "Aaronson",
"MeetingIds": [
15650,
15651,
15652,
15653,
15654,
15655,
15656,
15657,
15658,
15659,
15660
]
},
这是一个会议:
{
"AddressLine1": "717 Hart Senate Office Building",
"AddressLine2": "120 Constitution Avenue, NE",
"CongressPersonID": 8766,
"CongressPersonStateDistrict": "WI",
"ConstituentIds": [
14810,
14811
],
"End": "2014-05-08T10:15:00.0000000-04:00",
"Id": 15898,
"Location": "SH717 ",
"MeetingWith": "Kathleen Laird",
"Name": "Sen. Tammy Baldwin",
"PhoneNumber": "(202) 224-5653",
"Start": "2014-05-08T10:00:00.0000000-04:00",
"Status": "Confirmed"
},
【问题讨论】:
-
与会者表(meeting_id,attendee_id)
-
将该关系存储在第三个表中,该表具有
meeting_id和person_id列。然后,您可以使用该表查找特定person_id参加的所有meeting_ids,或查找参加特定meeting_id的所有person_ids。 -
@rickdenhaan 这就是我的想法,但我不会手动将
person_ids 与meeting_ids 关联。这就是我卡住的地方。所有的数字都将被倾倒在那里。也许我可以想出一个 PHP 函数来将它们关联到第三个表中。 -
不需要 PHP 函数,您可以在 SQL 查询中使用
JOIN来检索所有参加过会议的人,或某个人参加过的所有会议。我将在答案中给出一个示例,因为这些更适合多行代码示例。
标签: php mysql logic relational-database