How to add two get() - Laravel

Viewed 41

I have two get() :

 $nearest_drivers = Driver::where('active', 1)->where('approve', 1)->where('available', 1)->where('vehicle_type', $type_id)->whereIn('id', $nearest_driver_ids)->whereNotIn('id', $meta_drivers2)->limit(10)->get();
 $nearest_drivers2 = Driver::where('active', 1)->where('approve', 1)->where('available', 1)->where('vehicle_type', $type_id)->whereIn('id', $nearest_driver_ids)->whereNotIn('id', $meta_drivers)->limit(10)->get();

How do I add $nearest_drivers2 inside $nearest_drivers ?

Like $nearest_drivers += $nearest_drivers2

2 Answers

I think you need union. https://laravel.com/docs/9.x/queries#unions

        $nearest_drivers = Driver::where([
                'active' => 1,
                'approve' => 1,
                'available' => 1,
                'vehicle_type' => $type_id,
            ])
            ->whereIn('id', $nearest_driver_ids)
            ->whereNotIn('id', $meta_drivers2)
            ->limit(10);


        $nearest_drivers2 = Driver::where([
                'active' => 1,
                'approve' => 1,
                'available' => 1,
                'vehicle_type' => $type_id,
            ])
            ->whereIn('id', $nearest_driver_ids)
            ->whereNotIn('id', $meta_drivers)
            ->union($nearest_drivers) // <-- here
            ->limit(10)
            ->get();
Related