Laravel France

Problème d'affichage de champs d'un model via Cart::get('...')->model->monChamp

Avatar de Solomon75
Solomon75

Bonjour,

Je recontre un soucis actuellement avec un paquet de Laravel, dont le lien github est le suivant : https://github.com/hardevine/LaravelShoppingcart. Mon soucis est le suivant : lorsque j'utilise la méthode associate() ci join mon code :

$cartItem = Cart::add(1, "Footballeur", 1, 19500);

$cartItem->associate('app\Models\StatueProduit');

session()->flash('ok', 'produit ajouté');

return redirect(url('panier'));

En consultant mon panier via Cart::content() sur la page panier, j'ai bien un panier avec mes produits, sauf que le soucis est que je ne peux pas utiliser la syntaxe suivant : $produit->model->mon_champ_model ou $produit correspond à foreach(Cart::content() as $product) Je ne sais pas comment y remedier ça fait presque 2 jours que je suis dessus ..

En vous remerciant par avance,

Solomon75

Posté il y a 3 mois
Avatar de CinquièmeDimension
CinquièmeDimension

Salut,

Perso je n'ai jamais utilisé LaravelShoppingcart mais on peux quand même jetter un coup d'oeil. Peux-tu nous faire un dd(Cart::content()); depuis ton controller de panier (avec des produits dans le panier) ?

Posté il y a 3 mois
Avatar de Solomon75
Solomon75

Bonjour,

Merci pour votre réactivité ! Voici le resultat retourné par dd(Cart::content());

Illuminate\Support\Collection {#342 ▼
  #items: array:1 [▼
    "027c91341fd5cf4d2579b49c4b6a90da" => Gloudemans\Shoppingcart\CartItem {#343 ▼
      +rowId: "027c91341fd5cf4d2579b49c4b6a90da"
      +id: 1
      +qty: 1
      +name: "Footballeur"
      +price: 19500.0
      +options: Gloudemans\Shoppingcart\CartItemOptions {#344 ▼
        #items: []
      }
      -associatedModel: "app\Models\StatueProduit"
      -taxRate: 21
      -isSaved: false
    }
  ]
}

PS : même en changeant le path dans le champ associatedModel cela ne change rien, j'ai essayé StatueProduit et app\StatueProduit mais cela ne fonctionne pas, je suis sur la dernière version de laravel.

Posté il y a 3 mois
Avatar de jeromeborg1
jeromeborg1

SAlut je ne vois pas comment tu pourrais récupérer des informations de ton produits, tu ne passes que le chemin de la classe et non la classe en elle même je n'utilise pas cette dépendance mais Darryldecode\Cart, qui instantie également un associateModeL Avec cette dépendance je lui envoie directement mon modele $item = [ 'id' => $product->id, 'name' => $product->name, 'price' => $prixHt, 'quantity' => $qte, 'attributes' => $attributs, 'associatedModel' => $product ]; \Cart::add($item);

Posté il y a 3 mois

Vous ne pouvez pas répondre à ce sujet.