два запроса с одним конекшеном, где условием второго является результат первого? 
                  
                  
                  
                  
                  
                  Пример:
                  
                  
                  $firstLevelIds = DB::table('customers')
                  
                  
                              ->select('id')
                  
                  
                              ->where('parent_id', $id)
                  
                  
                              ->get(); ///первый запрос 
                  
                  
                  
                  
                  
                  $secondLevelIds = DB::table('customers')
                  
                  
                              ->select('id')
                  
                  
                              ->where('parent_id', $firstLevelsIds)
                  
                  
                              ->get(); ///второй запрос
                  
                  
                
1.pluck(id)->toArray() 2.whereIn
Это можно сделать обычным join-ом. И почему используешь сырые запросы, а не Eloquent?
$firstLevelIds = Customer::query() ->where('parent_id', $id) ->get(); ///первый запрос $secondLevelIds = Customer::query() ->whereIn('parent_id', $firstLevelsIds->pluck('id')) ->get(); ///второй запрос
Обсуждают сегодня