Autour de Laravel

Table pivot et insertion de donnees

  • Avatar de la_preuve
    Membre depuis :
    29/04/2019
    Messages :
    4

    Salu la team je tente d'attacher une liste de produit issuent su Cart (ShopingCart) a une facture lorsque je genere le pdf mais je rencontre un probleme.

    1) $facture->produits()->attach([$facture->id, array_keys($cart->items)]); ( la ligne qui pose probleme)

    public function export_pdf(Request $request, Produit $produit)
    {
    // $this->authorize('print', Produit::class);
    $oldCart = Session::get('cart');
    $cart = new Cart($oldCart);
    $produit = DB::table('produits')->where('id', $cart->items);

    $facture = Facture::create([
    'numero' => mt_rand(10000, 999999),
    'quantite_total' => $cart->totalQte,
    'prix_total' => $cart->totalPrix
    ]);

    $facture->produits()->attach([$facture->id, array_keys($cart->items)]);

    $pdf = PDF::loadView('admin.etats.pharmacie', ['produit' => $produit, 'produits' => $cart->items, 'totalPrix' => $cart->totalPrix]);

    $pdf->save(storage_path('pharmacie').'.pdf');

    // Session::forget('cart');
    return $pdf->stream('pharmacie.pdf');
    }

    2) (l'erreur que j'obtient)

    SQLSTATE[21S01]: Insert value list does not match column list: 1136 Column count doesn't match value count at row 2 (SQL: insert into facture_produit (facture_id, produit_id) values (8, 8), (1, 8, 1, 2))

Vous ne pouvez pas répondre à ce sujet.