NEW:
- Implementada nueva funcion para crear productos destacados por etiquetas, mostrando carrusel con los mismos en la pagina welcome.
This commit is contained in:
@@ -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'));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user