Php 使用slim framework使用重定向插入两次

Php 使用slim framework使用重定向插入两次,php,slim,Php,Slim,我想插入2次,但我有相互重定向的路由,我进行了第一次插入,然后重新插入到另一个路径以再次插入。必须将开始->交易() 这个做得好吗?。问候 我第一次插入,在路线上 $app->post("/orders/insert", function() use($app) { $empleado = ORM::for_table('empleado')->select('id')->where('usuario_idusuario',$_SESSION['user_id'])-&

我想插入2次,但我有相互重定向的路由,我进行了第一次插入,然后重新插入到另一个路径以再次插入。必须将开始->交易() 这个做得好吗?。问候

我第一次插入,在路线上

$app->post("/orders/insert", function() use($app)
{
    $empleado = ORM::for_table('empleado')->select('id')->where('usuario_idusuario',$_SESSION['user_id'])->find_one();
    $cliente = 'proveedor';
    if(!$empleado)
    {
        $app->flash('error','La cuenta de usuario tiene que estar asociado a un empleado registrado en la base de datos');
        $app->redirect($app->urlFor('cartList'));
    }
    try
    {
        $insertOrder = ORM::for_table('pedido')->create();
        $insertOrder->fechapedido = date('Y/m/d');
        $insertOrder->estado = 1;
        $insertOrder->empleado_id = $empleado->id;
        $insertOrder->proveedor_id =  $_SESSION['idproveedor'];
        $insertOrder->save();
        $app->redirect("/lineorder/insert/$cliente");
    }
    catch(PDOException $e)
    {
        $app->flash('error','Ha ocurrido un error en la base de datos, no se ha insertado ningún pedido'.$e->getMessage());
        $app->redirect($app->urlFor('cartList'));
    }
});
在我走到重定向的路线后,我意识到:

$app->map('/lineorder/insert/:cliente', function($cliente) use($app)
{
    if(!isset($_SESSION['cart-items']))
    {
         $app->redirect($app->urlFor('create-order'));
         $app->flash('error','No tienes carritos');
    }
    //Si existe la variable de sesion
    else
    {
        if(count($_SESSION['cart-items'])>0)
        {
            $idpedido = ORM::for_table('pedido')->count();
            foreach($_SESSION['cart-items'] as $id => $cantidad)
            {
                $producto = ORM::for_table('producto')->select_many('id','precioVenta','precioProveedor')->where('id',$id)->find_one();
                $preciounidad = ($cliente==='proveedor') ? $producto->precioProveedor : $producto->precioVenta;
                $lineorder_insert = ORM::for_table('lineapedido')->create();
                $lineorder_insert->pedido_idpedido = $idpedido;
                $lineorder_insert->producto_idproducto =$producto->id;
                $lineorder_insert->cantidad = $cantidad;
                $lineorder_insert->preciounidad = $preciounidad;
                $lineorder_insert->save();
                //Actualizo cantidad en la table productos
                $cantidad_stock =$producto->cantidad_stock;
                $cantidad_stock+=$cantidad;
                $update_amount = ORM::for_table('producto')->find_one($id);
                $update_amount->set('cantidad_stock',$cantidad_stock);
                $update_amount->save();
                $app->flash('success',"pedido {$idpedido} creado correctamente");
                $app->redirect($app->urlFor('orderList'));
            }
        }
    }
})->via('GET','POST');
我需要开始->事务()


你做得好吗?

这与Laravel有关吗?那么就不需要Laravel标签了(我只是把它去掉了)