Laravel查询构建器子查询单独的表

时间:2017-01-19 14:53:50

标签: laravel-5 laravel-query-builder

如何在 Laravel查询生成器中编写此代码:

  • 我有一个用户表,其中一个客户的列为'phone'
  • 一个客户表,该表属于'user_id'用户的列'mobile'。

我想找到任何带有电话号码的客户ID,无论是“手机”还是“手机”。像这样:

select id 
from customers 
where mobile = '5555555555' or 
user_id = (select id 
           from users 
           where phone = '5555555555')

1 个答案:

答案 0 :(得分:1)

我认为这就是我的需要:

$customers = DB::table('customers')
    ->whereIn('user_id',  function ($query) use ($phoneNumber) {
        $query->select('id')
              ->from('users')
              ->where('users.phone', $phoneNumber);
    })
    ->orWhere('mobile', $phoneNumber)
    ->pluck('id');