2017-03-01 107 views
0

我有兩個集合,我想將它們合併成1個集:合併2個集,laravel

$campagnes3 = Leads1_Voorverzameld::select(array('leads1_voorverzameld.*', \DB::raw('COUNT(leads1_voorverzameld.Campagne_Id) as Avleads'))) 
    ->leftJoin('campagnes', 'campagnes.Campagne_Id', '=', 'leads1_voorverzameld.Campagne_Id') 
    ->where('leads1_voorverzameld.Aanvullende_Gegevens', '=', '1') 
    ->groupBy('leads1_voorverzameld.Campagne_Id', \DB::raw("YEAR(leads1_voorverzameld.Voorverzameld_Datum)"), \DB::raw("MONTH(leads1_voorverzameld.Voorverzameld_Datum)")) 
    ->orderBy(\DB::raw("YEAR(leads1_voorverzameld.Voorverzameld_Datum)")) 
    ->get(); 

    $campagnes4 = Leads1_Voorverzameld::select(array('leads1_voorverzameld.*', \DB::raw('COUNT(leads1_voorverzameld.Campagne_Id) as leads'))) 
    ->leftJoin('campagnes', 'campagnes.Campagne_Id', '=', 'leads1_voorverzameld.Campagne_Id') 
    ->groupBy('leads1_voorverzameld.Campagne_Id', \DB::raw("YEAR(leads1_voorverzameld.Voorverzameld_Datum)"), \DB::raw("MONTH(leads1_voorverzameld.Voorverzameld_Datum)")) 
    ->orderBy(\DB::raw("YEAR(leads1_voorverzameld.Voorverzameld_Datum)")) 
    ->get(); 

$av = $campagnes3->toBase()->merge($campagnes4); 

發送$ AV我的看法

現在輸出:

讓我有2 voorverzamelde領先,然後在下一行有1與AV,然後voorverzamelde領導列是空的。

輸出應該是有2個voorverzamelde潛在客戶,其中1個包含AV 所以他們應該被鏈接。任何幫助?

+0

你爲什麼不在你的原始sql中做一個聯合? – happymacarts

回答

0
$av = $campagnes3->combine($campagnes4); 

您可以使用Laravel集合中的combine方法。

如果它們具有相同的屬性,它會將您的兩個集合合併爲一個。

+0

感謝您的修改:) –