【发布时间】:2021-08-29 09:26:46
【问题描述】:
标题很难选,对不起!
我拥有的数据库结构是以下几列:
页面
- id (int)
- 网址(字符串)
- 内容(字符串)
- created_at(时间戳)
组
- id (int)
- related_page_ids (json)
- domain_id (int)
- created_at(时间戳)
我想要实现的是通过选定的域 ID 检索所有组,然后用它检索所有相关页面。如果我应该用丑陋的 PHP 和 MySQL 编写它:
$groups = SELECT * FROM groups WHERE domain_id = 1;
foreach($groups as $group){
$pages = SELECT * FROM pages WHERE IN id = implode($group['related_page_ids']);
}
我希望你通过这个丑陋的例子理解我的目标。
【问题讨论】:
-
请提供样本数据。这也可能是为什么存储分隔数据是一个糟糕的选择。这将是一个使用
pages_to_group表的简单任务。 -
出于好奇,您为什么决定对related_page_ids 使用JSON,而不是标准的规范化解决方案,它应该是多对多关系的第三个表?
标签: mysql many-to-many mysql-json