【发布时间】:2014-10-10 06:16:52
【问题描述】:
我整天都被这个问题困扰:
- 多对多关系
- 模块(ID、名称、描述)
- 员工(身份证、姓名、出生日期、性别等)
- employees_modules
但是,employees_modules不仅有外键...还有其他字段:
- module_id
- employee_id
- 教室(varchar)
- 已注册(布尔值)
- 存在(布尔值)
- 离开(布尔值)
- 其他标志
- 随便
所以... 在一个查询中我需要...
- 列出所有模块 +
- 有多少员工属于该模块
- 有多少个教室属于该模块(但班级只是一个字符串)
- 有多少员工在场等
所以...我的问题是...
- 如何计算每个模块有多少个教室(字符串列) - 在原始 sql 中,我需要对教室进行分组然后计算。
- 如何将 where 条件传递给多对多关系
结构
型号
- 模块.php
- Employee.php
- EmployeeModule.php
对不起,我的英文不好,请帮我修好...
【问题讨论】:
-
我无法理解
class (VARCHAR)是什么以及您应该如何计算它。在我看来,X 个模块将有 X 个类。请解释一下 -
@Stichoza class= 班级 = 学校 = 课程。这是一个描述字段。
-
你的意思是“类数”中的不同值吗?
-
@Stichoza 是的...在一个查询中我需要:模块 ID 和名称、该模块的教室数量和其他计算。但我不知道如何做一个简单的选择 + 一个带有 groupBy 和计数的子选择(这个 reuslt)
标签: php mysql laravel relationship