2017-03-07 42 views
0

我有一個表「支付」,其中包含以下內容: ID client_id user_id 和付款的過程。雙連接sql同表

我還有一個表的用戶 ID 姓 中間名 姓氏 功能(客戶端或管理員)

IM與下面的SQL查詢

$payments = Payment::findpayments() 
    ->select('users.firstname', 'users.middlename', 'users.lastname', 'payments.*') 
    ->join('users','payments.client_id', '=', 'users.id') 
    ->where('payments.id', '=', $id) 
    ->get(); 

現在即時得到來自姓名等參加用戶客戶端,但我需要爲客戶端和管理員得到兩次名字middlename lastname sombody有任何想法如何加倍加入同一個表?

回答

0

您可以通過別名加倍連接。這些行東西

->join('users','payments.client_id', '=', 'users.id') 
->join('users as admin','payments.client_id', '=', 'admin.admin_id') 

只要確保你加入他們正確,但只要你別名他們,我認爲它應該沒問題。

請記住,您還需要別名他們在選擇喜歡

->join('users','payments.client_id', '=', 'users.id') 
->join('users as admin','payments.client_id', '=', 'admin.admin_id') 
->select('users.name', 'admin.name as admin_name') 
+0

謝謝我會嘗試! – Kevin

+0

很酷,如果它有效,你不會忘記標記我的答案。謝謝 :) – EddyTheDove