合并2个系列,laravel

时间:2017-03-01 15:19:05

标签: php laravel join merge

我有2个集合,我想将它们合并为1个集合:

$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 Leads,其中1个包含AV 所以他们应该联系起来。任何帮助?

1 个答案:

答案 0 :(得分:0)

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

您可以使用Laravel系列中的combine方法。

如果它们具有相同的属性,它会将两个集合合并为一个。