php - 如何以多对多关系连接表

标签 php mysql codeigniter

我有一个名为类别的表,其中包含字段,并且字段具有字段选项

category->fields->fields_options

我创建了一个表 cat_fields

┏━━━━┳━━━━━━━━┳━━━━━━━━━━┓
┃ id ┃ cat_id ┃ field_id ┃
┣━━━━╋━━━━━━━━╋━━━━━━━━━━┫
┃ 0  ┃ 1      ┃ 2        ┃
┣━━━━╋━━━━━━━━╋━━━━━━━━━━┫
┃ 1  ┃ 1      ┃ 1        ┃
┗━━━━┻━━━━━━━━┻━━━━━━━━━━┛

现在我需要这个表来获取类别的结果 这样我就可以拥有与类别相关的所有字段以及与该类别的字段相关的所有选项。

有可能一次性获得所有这些吗?

最佳答案

您没有显示其他两个表的布局,但假设每个表都有一个 ID 字段,则以下内容应该有效:

SELECT *
FROM `category`
JOIN `fields`
ON `fields`.`field_id` = `category`.`field_id`
JOIN `field_options`
ON `field_options`.`field_id` = `fields`.`field_id`

调整为使用实际的列名称和表名称。

关于php - 如何以多对多关系连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42311706/

相关文章:

java - 在java桌面应用程序中嵌入mysql

php - MY_Model jamierumbelow

php - 使用 php 用图片更新现有表单

php - 从多个表中检索数据

php - fgets 的输出与文件格式不匹配

python - 不同间隔的日期差异

PHP 扩展无法在 Web 目录中运行,而 .html 扩展可以运行

mysql - 仅获取数据库的个人记录而不是所有记录

javascript - 如何使用ajax发送文件和文本

php - 上传图片,然后将文件路径放入表单中