如何使用Laravel 5 Query Builder编写此查询?

时间:2015-09-17 00:49:02

标签: php mysql laravel-5

我想在 Laravel 5 Query Builder 中使用<{1}}查询。

Sql

或(替代方式)

SELECT  * FROM Call WHERE phone_number NOT IN (SELECT phone_number FROM Phone_book)

或(替代方式)

SELECT * FROM   Call
         LEFT OUTER JOIN Phone_Book
          ON (Call.phone_number = Phone_book.phone_number)

我尝试了几种方法,但我无法编写查询。有没有办法在查询构建器中使用 SELECT * FROM Call WHERE NOT EXISTS (SELECT * FROM Phone_book WHERE Phone_book.phone_number = Call.phone_number) WHERE Phone_book.phone_number IS NULL 语法,或者如何使用查询生成器编写相同的查询?拜托,帮助我。

(我测试过以上3个查询输出是一样的。我想用查询生成器语法编写这一个查询)

1 个答案:

答案 0 :(得分:2)

DB::table('Call')->whereNotIn('phone_number', function($query)
{
    $query->select('phone_number')
        ->from('Phone_book');
})
->get();

此代码与您发布的第一个sql查询完全相同。