- Implementada nueva funcion para crear productos destacados por etiquetas, mostrando carrusel con los mismos en la pagina welcome.
This commit is contained in:
Bryam105
2026-06-02 09:46:53 -03:00
parent 63f91bdd6d
commit 902b8433d9
17 changed files with 480 additions and 33 deletions
+12 -11
View File
@@ -9,17 +9,18 @@ class HomeController extends Controller
{
public function __invoke(Request $request)
{
// Si tuvieras un campo 'sales_count', podrías usar ->orderByDesc('sales_count')
$destacados = Product::where('type', 'bike')
->latest() // Las más nuevas
->take(5)
->get();
// Traer todas las etiquetas con sus productos
$tagsConProductos = \App\Models\Tag::with('products')->get()
->filter(function ($tag) {
// Solo mantener etiquetas que tengan al menos 1 producto
return $tag->products->count() > 0;
})
->map(function ($tag) {
// Limitar a 7 productos como máximo para el carrousel
$tag->setRelation('products', $tag->products->take(7));
return $tag;
});
// Si no hay bicis, traemos cualquier cosa para que no se rompa
if ($destacados->isEmpty()) {
$destacados = Product::take(5)->get();
}
return view('welcome', compact('destacados'));
return view('welcome', compact('tagsConProductos'));
}
}