41 lines
1.2 KiB
PHP
41 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\Product;
|
|
use Illuminate\Http\Request;
|
|
|
|
class CatalogoController extends Controller
|
|
{
|
|
|
|
public function catalogo()
|
|
{
|
|
$products = Product::all();
|
|
return view('catalogo', compact('products'));
|
|
}
|
|
|
|
/**
|
|
* Muestra los registros de ventas con buscador y paginación.
|
|
*/
|
|
public function index(Request $request)
|
|
{
|
|
// Recuperamos lo que el usuario escribió en el buscador (si escribió algo)
|
|
$query = $request->input('search');
|
|
// Recuperamos el filtro aplicado (si aplica)
|
|
$filter = $request->input('filter');
|
|
|
|
// Construimos la consulta
|
|
$sales = Product::query()
|
|
->when($query, function ($q) use ($query) {
|
|
// Si hay búsqueda, filtra por nombre o SKU
|
|
return $q->where('name', 'like', "%{$query}%")
|
|
->orWhere('sku', 'like', "%{$query}%");
|
|
})
|
|
->orderBy('stock_quantity', 'asc') // Ordenamos primero los que tienen poco stock (Alerta visual)
|
|
->paginate(10) // Paginamos de a 10
|
|
->withQueryString(); // Mantiene el filtro de búsqueda al cambiar de página
|
|
|
|
return view('sales', compact('sales'));
|
|
}
|
|
}
|