*/ final class VendaMapper { function insert(Venda $venda) { $id = $venda->getID(); date_default_timezone_set('America/Sao_Paulo'); $date = date("Y-m-d"); // insere a venda no banco de dados $sql = "INSERT INTO venda (id, data) values ('{$id}', '{$date}')"; echo $sql . "<br>\n"; // percorre os itens vendidos foreach ($venda->getItens() as $item) { $quantidade = $item[0]; $produto = $item[1]; $descricao = $produto->getDescricao(); // insere os itens da venda no banco de dados $sql = "INSERT INTO venda_items (ref_venda, produto, quantidade)" . " values ('{$id}', '{$descricao}', '{$quantidade}')"; echo $sql . "<br>\n"; } } } // instancia objeto Venda $venda = new Venda(1000); // adiciona alguns produtos $venda->addItem(3, new Produto('Vinho', 10, 15)); $venda->addItem(2, new Produto('Salame', 20, 20)); $venda->addItem(1, new Produto('Queijo', 30, 10)); // Data Mapper persiste a venda VendaMapper::insert($venda);