Tommy Lee
Tommy Lee

Reputation: 794

Laravel Query Builder WHERE NOT IN

I have the following sql query

SELECT * FROM exams WHERE exams.id NOT IN (SELECT examId FROM testresults)

how can I convert it into Laravel query builder format?

Thanks.

Upvotes: 8

Views: 31750

Answers (2)

Hamidreza Akbari
Hamidreza Akbari

Reputation: 23

with Eloquent :

$result = Exams::whereNotIn('id', function($q){
        $q->select('examId')->from('testresults');
    })->get();

Upvotes: 1

lukasgeiter
lukasgeiter

Reputation: 153150

You can use whereNotIn with a closure:

$result = DB::table('exams')->whereNotIn('id', function($q){
    $q->select('examId')->from('testresults');
})->get();

Upvotes: 29

Related Questions