with([ 'groupItems' => fn ($query) => $query->orderBy('order'), 'groupItems.groupable' => function (MorphTo $morphTo): void { $morphTo->morphWith([ ProductVariant::class => ['product', 'attachments', 'product.attachments'], Bundle::class => ['items.variant.product', 'items.variant.attachments', 'items.variant.product.attachments'], ]); }, ]) ->orderBy('group_order') ->get(); return response()->json(CatalogFeaturedGroupResource::collection($featuredGroups)->resolve()); } }