Olá Vinicius, To pegando um erro que não consegui identificar.
Trecho do código
global $pdo;
require "src/conexaoDB.php";
require "src/Modelo/Produto.php";
$sql1 = "SELECT * FROM produtos WHERE tipo = 'Café' ORDER BY preco";
$statement = $pdo -> query($sql1);
$produtosCafe = $statement -> fetchAll(PDO::FETCH_ASSOC);
$sql2 = "SELECT * FROM produtos WHERE tipo = 'Almoço' ORDER BY preco";
$statement = $pdo -> query($sql2);
$produtosAlmoco = $statement -> fetchAll(PDO::FETCH_ASSOC);
$dadosCafe = array_map(function ($cafe){
return new Produto($cafe['id'],
$cafe['tipo'],
$cafe['nome'],
$cafe['descricao'],
$cafe['imagem'],
$cafe['preco']
);
}, $produtosCafe);
$dadosAlmoco = array_map(function ($almoco){
return new Produto($almoco['id'],
$almoco['nome'],
$almoco['descricao'],
$almoco['imagem'],
$almoco['preco'],
$almoco['tipo']
);
}, $produtosAlmoco);
var_dump($dadosAlmoco);
exit();
?>
Erro:
Fatal error: Uncaught TypeError: Produto::__construct(): Argument #6 ($preco) must be of type float, string given, called in C:\Projetos\Alura\SerenattoCafe\index.php on line 27 and defined in C:\Projetos\Alura\SerenattoCafe\src\Modelo\Produto.php:11 Stack trace: #0 C:\Projetos\Alura\SerenattoCafe\index.php(27): Produto->__construct(8, 'Fettuccine', 'Prato italiano ...', 'fettuccine.jpg', '22.50', 'Almo\xC3\xA7o') #1 [internal function]: {closure}(Array) #2 C:\Projetos\Alura\SerenattoCafe\index.php(26): array_map(Object(Closure), Array) #3 {main} thrown in C:\Projetos\Alura\SerenattoCafe\src\Modelo\Produto.php on line 11
Achei. Tudo certo Errado essa sequência
$almoco['tipo'],
$almoco['nome'],
$almoco['descricao'],
$almoco['imagem'],
$almoco['preco']