我有两个名为students
和marks
的表。我在这些表中有数据,如下
学生
id name
232 James Gordon
353 Mark Gordon
标记
id total
232 70
在下面的查询中,我试图获取所有没有评分的学生,但是我从下面的代码中获取所有学生。我如何加入表格以完成此操作。
我是php和mysql的新手。谢谢
学生控制器
public function getForMarks($class,$session)
{
$students= Student::selectRaw("regiNo,CAST(rollNo AS SIGNED) as rollNo,firstName,lastName")
->where('class','=',$class)
->where('section','=',$section)
->where('shift','=',$shift)
->where('session','=',$session)
->orderBy('rollNo','asc')->get();
return $students;
}
答案 0 :(得分:0)
执行此操作的MySql查询
SELECT *
FROM students
INNER JOIN marks ON students.id = marks.id where marks.total is not null ;
答案 1 :(得分:0)
您应该添加到查询中
->whereNOTIn('id',function($query){
$query->select('id')->from('marks');
})