Trying to get property 'items' of non-object

<?php

namespace App\Models;

class Cart
{
    public $items = null;
    public $totalQty = 0;
    public $totalPrice = 0;

    public function __construct($oldCart)
    {
        if ($oldCart) {
            $this->items = $oldCart->items;
            $this->totalQty = $oldCart->totalQty;
            $this->totalPrice = $oldCart->totalPrice;
        }
    }
    public function add($item, $id)
    {
        $storedItem = ['qty' => 0, 'price' => $item->price, 'item' => $item ];
        if ($this->items) {
            if (array_key_exists($id, $this->items)) {
                $storedItem = $this->items[$id];
            }
        }
        $storedItem['qty']++;
        $storedItem['price'] = $item->price * $storedItem['qty'];
        $this->items[$id] = $storedItem;
        $this->totalQty++;
        $this->totalPrice += $item->price;
    }
}

controller

<?php

namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Auth;
use Illuminate\Database\Eloquent\Model;
use App\Models\Food;
use App\Models\Cart;
use Session;

class FoodController extends Controller
{
public function getAddToCart(Request $request, $id)
    {

        $adds = Food::find($id);
        $oldCart = Session::has('cart') ? Session::get('cart') : null;
        $cart = new Cart($oldCart);
        $cart->add($adds, $adds->id);

        $request->session()->put('cart', $cart);
        dd($request->session()->get('cart'));
        return redirect()->back();
    }
}

Mohon bantuannya

avatar rizziqibrahim_google
@rizziqibrahim_google

3 Kontribusi 0 Poin

Dipost 3 tahun yang lalu

Tanggapan

Setau saya ini ada hubungannya dengan perbedaan antara variabel tipe 'array' atau 'object'.

Kalau array, aksesnya seperti.. $var['id']

Sedangkan kalau object, aksesnya seperti.. $var->id

Mungkin bisa didalami bagian situnya lagi, Kak.

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban