【问题标题】:Shopping cart basket购物车篮
【发布时间】:2019-05-26 00:45:52
【问题描述】:

我有一段这样的代码:

public function index(){
        $products = session()->get('cart')->items;
        // dd($products);
        return view('basket', compact('products'));
    }

blade.php:

错误:

Trying to get property 'items' of non-object

【问题讨论】:

  • 可能session()->get('cart')返回null
  • 你能用 var_dump(session()->get('cart')) 看看你得到了什么吗?
  • 你使用的是哪个版本的 Laravel?你检查过dd($products);吗?
  • @Hiren Gohel Laravel 框架 5.7.15
  • @rs007 错误:试图获取非对象 $products = session()->get('cart')->items 的属性“items”;

标签: php laravel cart


【解决方案1】:

你的问题在这里$products = session()->get('cart')->items;,如果你的会话没有任何产品,你应该处理,所以你应该这样做:

在 php-7 中

$products = $session()->get('cart')->items?? [];

在 php-5 中

$cart = $session()->get('cart');
$products = $cart ? $cart->items : [];

因此,如果会话为空,$products 将是一个空数组,否则它将包含项目。

【讨论】:

    【解决方案2】:
    if(session()->has('cart'))
            {
                $products = session()->get('cart')->items;
            }
            else
            {
                $products = 'nothing';
            }
    

    我可以决定

    【讨论】:

      猜你喜欢
      • 2014-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多