【发布时间】:2017-05-06 22:29:38
【问题描述】:
我正在使用 Laravel 构建一个简单的考勤监控系统。我有两个相关的表teachers 表和grade_levels 表。
这是两者的表结构
教师表
id(PK)
advisory_class(FK) -> 引用 grade_levels 表上的 id
teacher_name
年级水平表
id(PK)
grade_level
section
我要做的是从grade_levels 表中检索尚未从teachers table 分配给老师的所有记录
我如何用 Laravel 查询这个??
我尝试进行连接查询,但我得到了指定教师的记录。
$teachers = DB::table('teachers')
->join('grade_levels','teachers.advisory_class', '=', 'grade_levels.id')
->select('teachers.*','grade_levels.grade_lvl','grade_levels.section')
->get();
我在这个查询中遗漏了什么吗?
谢谢大家!
【问题讨论】:
-
您需要
leftJoin()和whereNull()。或带有子查询的whereNotIn()。如果您正确设置模型关系,doesntHave()也可能有效。
标签: php mysql database laravel