Executa consulta paginada com contagem automática (COUNT) e injeção de LIMIT/OFFSET, retornando metadados completos de paginação.
| Código | Produto | Categoria | Preço Unitário | Estoque |
|---|---|---|---|---|
| Nenhum produto atende aos filtros atuais. | ||||
| #{{ item.id_produto }} | {{ item.nome_produto }} | {{ item.nome_categoria }} | R$ {{ Number(item.preco).toLocaleString('pt-BR', { minimumFractionDigits: 2, maximumFractionDigits: 2 }) }} | {{ item.estoque }} un |
$pagina = (int)($_GET['page'] ?? 1);
$porPagina = 4;
// Paginação automática com parâmetros nomeados:
$paginado = DB::paginate(
sql: "SELECT p.id_produto, p.nome_produto, c.nome_categoria, p.preco, p.estoque
FROM produtos p
INNER JOIN categorias c ON c.id_categoria = p.id_categoria
WHERE p.preco > :preco
ORDER BY p.id_produto ASC",
params: ["preco" => 50.00],
page: $pagina,
perPage: $porPagina
);
// Metadados ricos disponíveis:
$itens = $paginado->items; // 4 itens desta página
$total = $paginado->total; // 9 produtos no total
$paginaAtual = $paginado->currentPage; // 1, 2 ou 3
$ultimaPagina= $paginado->lastPage; // 3
$faixa = "De {$paginado->from} até {$paginado->to}";
$temMais = $paginado->hasMorePages; // true se houver próxima
[
{
"id_produto": 101,
"nome_produto": "PLA Preto 1kg",
"nome_categoria": "Insumo",
"preco": 89.9,
"estoque": 45
},
{
"id_produto": 102,
"nome_produto": "PETG Branco 1kg",
"nome_categoria": "Insumo",
"preco": 95.5,
"estoque": 30
},
{
"id_produto": 104,
"nome_produto": "Mesa PEI Texturizada",
"nome_categoria": "Peça",
"preco": 120,
"estoque": 15
},
{
"id_produto": 105,
"nome_produto": "Resina 8K (Lançamento)",
"nome_categoria": "Insumo",
"preco": 180,
"estoque": 25
}
]
id_cliente (INTEGER PK)nome_cliente (TEXT)uf (TEXT)cidade (TEXT)vip (INTEGER 0|1)saldo_credito (REAL)id_produto (INTEGER PK)id_categoria (INTEGER FK)nome_produto (TEXT)preco (REAL)estoque (INTEGER)pedidos.id_pedido (INTEGER PK)pedidos.id_cliente (INTEGER FK)pedidos.status (TEXT)itens_pedido.id_item (INTEGER PK)itens_pedido.qtd (INTEGER)itens_pedido.preco_unitario (REAL)