first())) { $entries = FileEntry::whereIn('id', $entries)->get(); } if ($withTrashed) { $builder->withTrashed(); } $entries->each(function (FileEntry $entry) use ($builder) { if ($entry->type === 'folder') { $path = $entry->getRawOriginal('path'); $builder->orWhere('path', 'LIKE', "$path/%"); } }); //only fetch children if any "where" constraints were applied if (count($builder->getQuery()->wheres)) { $children = $builder->get(); $entries = $entries->merge($children); } return $entries; } }