2017-01-19 34 views
0

我怎樣寫這Laravel查詢生成器Laravel查詢生成器子查詢單獨的表

  • 我有了一個客戶'phone'用戶表。
  • 一個客戶屬於用戶'user_id''mobile列」表。

我想找一個電話號碼是'手機'或'手機'的任何客戶ID。事情是這樣的:

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

回答

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');