Laravel Stocker un Tableau en Session
J'ai eu du mal à stocker un tableau en session. Je fais un panier et il ne semble pas fonctionner.
public function __construct(){
$product = array(1,2,3,4);
Session::push('cart', $product);
}
et le récupérer dans la vue comme cela.
{{Session::get('cart')}}
Cependant, je reçois un message d'erreur comme ceci.
htmlentities() expects parameter 1 to be string, array given
Des indices et des conseils sur la façon de créer un panier d'achat qui stocke un tableau d'éléments.
OriginalL'auteur Nello | 2016-05-20
Vous devez vous connecter pour publier un commentaire.
Si vous avez besoin d'utiliser le tableau à partir de la session de chaîne, vous devez utiliser la Collection comme ceci:
Cela va rendre le travail où vous serez en utilisant
{{Session::get('cart');}}
dans votre format html. Être conscient deSession::push
car il ajoutera toujours les nouveaux produits dans les sessions. Vous devriez être en utilisantSession::put
pour être sûr que les produits seront toujours à jour.OriginalL'auteur mvpasarel
Vous êtes stocker un tableau dans la session, et depuis
{{ }}
attend une chaîne de caractères, vous ne pouvez pas utiliser{{Session::get('cart')}}
pour afficher la valeur.La
{{ $var }}
est la même que l'écriture deecho htmlentities($var)
(un exemple très simple).Au lieu de cela, vous pourriez faire quelque chose comme:
Collections fournit un wrapper pour travailler avec des tableaux. Si vous tentez de
echo $collection
ou de l'utilisation{{ $collection }}
, la Collecte gère cela automatiquement à l'aide d'un__toString()
de la méthode. Le$request->all()
serait traitée comme une Collection, plutôt qu'un tableau normal.OriginalL'auteur Kirk Beard
Si vous utilisez "push", au moment de la création du tableau de la session, le tableau ressemble à ceci:
Au lieu de cela, vous devez utiliser 'mettre':
Toute les valeurs suivantes devraient être poussé sur le tableau de session:
OriginalL'auteur omarjebari