по мне так кешить сам билдер странновато, там какие то "тяжелые" (в плане их получения) аргументы при его построении? мб их тогда и кешировать?
типа такого
$builder = Car::whereStatus(1)
->when(isset($params['someparams']), function($query) use($params) {
return $query->whereHas('category', function($query) use($params) {
return $query->whereHas('parent', function($query) use($params) {
return $query->where('alias', $params['someparams']);
});
});
});