2015-05-31 48 views
0

我有這個查詢,它基本上列出了兩個用戶共同的主題。如何使用雄辯或查詢生成器連接兩個表

$subcommon= SubjectUser::selectRaw('topic_id, count(topic_id) AS aggregate') 
    ->whereIn('user_id', [4, 2])->groupBy('topic_id') 
    ->having('aggregate','>',1)->get(); 

例如,對於表中的查詢結果下面將是

{"topic_id":3,"aggregate":1} 

tableone

id|user_id|topic_id 
1|2  |3 
2|4  |3 
3|5  |1 

我有另一個表(tabletwo),其還具有我想topic_id加入這樣我就可以從第二個表中得到第二行的查詢結果。我會如何去做這件事?

tabletwo

id|group_id|topic_id 
1|6  |2 
2|7  |3 
3|7  |1 

回答

0
DB::table('tableone')->join('tabletwo', function($join) { 
    $join->on(tableone.topic_id, '=', tabletwo.topic_id); 
})->get(); 
+0

我還可以加入'SubjectUser'模式,表名,因爲我似乎無法得到這個工作 – Billy

0

試試這個,

$subcommon= DB::table('tableone') 
    ->selectRaw('topic_id, count(topic_id) AS aggregate') 
    ->join('tabletwo','tabletwo.topic_id', '=', 'tableone.topic_id') 
    ->whereIn('user_id', [4, 2]) 
    ->groupBy('tableone.topic_id') 
    ->having('aggregate','>',1) 
    ->get();