Yo también pensé que la podría estar llamando 2 veces, pero no, en el controlador que llama a esta función va esto:
Código PHP:
Ver originalpublic function comprar()
{
$cli = $this->input->post('txtHiddenCliente');
$tot = $this->input->post('txtHiddenTotal');
$fec = date('Y-m-d H:i:s'); $est = 0;
$msg = '';
$res = $this->Carrito_model->savePedido($cli, $tot, $fec, $est);
if ($res === false) {
redirect('carrito/compra_error');
} else {
redirect('carrito/compra_ok');
}
echo $msg;
}
Y por cierto, me graba 2 veces en las dos tablas. En mi ejemplo, meto solo un producto, lo cual me tendría que grabar una entrada en "pedidos" y una en "pedidos_detalles", pero me graba 2 veces en ambas tablas.