У меня возникли проблемы с хранением массива в сеансе. Я делаю корзину и, похоже, не работает.
public function __construct(){ $product = array(1,2,3,4); Session::push('cart', $product); } 
а затем извлеките его в виде, подобном этому.
 {{Session::get('cart')}} 
Однако я все время получаю ошибку.
 htmlentities() expects parameter 1 to be string, array given 
Любые подсказки и советы о том, как создать корзину покупок, в которой хранится массив элементов.
Если вам нужно использовать массив из сеанса в виде строки, вам необходимо использовать Collection следующим образом:
 $product = collect([1,2,3,4]); Session::push('cart', $product); 
  Это заставит его работать, когда вы будете использовать {{Session::get('cart');}} в своем htmls.  Помните Session::push потому что он всегда будет добавлять новые продукты в сеансах.  Вы должны использовать Session::put чтобы убедиться, что продукты будут всегда обновляться. 
  Вы храните массив в сеансе, и поскольку {{ }} ожидает строку, вы не можете использовать {{Session::get('cart')}} для отображения значения. 
  {{ $var }} echo htmlentities($var) {{ $var }} совпадает с написанием echo htmlentities($var) (очень простой пример). 
Вместо этого вы можете сделать что-то вроде:
 @foreach (Session::get('cart') as $product_id) {{$product_id}} @endforeach 
Если вы используете «push», при первоначальном создании массива в сеансе, массив будет выглядеть так:
 [ 0 => [1,2,3,4] ] 
Вместо этого вы должны использовать «put»:
 $products = [1,2,3,4]; $request->put('cart', $products); 
Любые последующие значения должны быть перенесены в массив сеанса:
 $request->push('cart', 5);