php - 其中加入 1 : Many relationship?

标签 php mysql codeigniter join

这是我的数据库架构和我尝试链接的表,我尝试使用 LEFT 连接,但现在它正在为每个匹配的行创建一个新结果。

http://i.imgur.com/Ovsau.png

我目前正在构建查询,并尝试将这些表连接在一起(Procedure-> procedure_event -> Resources -> Med_item)

在这样的场景中:

e.g. Procedure X has 3 rows procedure_events

我希望数据在一条记录中返回给我,但包含组成该记录的所有行。

但是它返回 3 行结果,如下所示:

  • 过程 X - procedure_event 第 1 行
  • 过程 X - procedure_event 第 2 行
  • 过程 X - procedure_event 第 3 行

所以查询结果应该是Procedure X - procedureevent rows 1,2,3

这是我在 Codeigniter PHP 框架中使用 Active Record 的代码:

$this->db->join('procedure_event', 'procedure.procedure_id = procedure_event.procedure_id' , 'left');

谢谢

最佳答案

这就是 LEFT JOIN 的工作原理。

So the query result should be Procedure X - procedureevent rows 1,2,3

我认为你需要这个:How do I get a count of associated rows in a left join in MySQL?

MySQL 无法返回二维数组或合并行。如果您需要所有“procedureevent rows 1,2,3”,那么只需迭代结果集,就像您通常所做的那样,并添加一个小 + 图标,通过 AJAX 获取 procedureevents。

关于php - 其中加入 1 : Many relationship?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6901229/

相关文章:

php - mysqli_multi_query 不返回任何值

javascript - 如何在按下按钮时加载 View ?

mysql - 你如何将减去主键的mysql查询复制到另一个表中

php - Mysql查询通过将多个表与映射表组合来获取搜索结果

php - 在 PHP cURL 中使用 Windows AD Cert Auth 证书

php - 如何在 Apache/PHP 中使用预告片生成分块响应?

MySQL ROUND() 计算错误

php - mysql插入时截断的字符串

javascript - 在 ajax 调用的回显页面中设置 cookie

php - 使用 php 检查重复的电子邮件条目