Я не могу преобразовать объект в массив - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь создать маршрут API корзины покупок, и я застрял с этой проблемой, потому что, когда я использую это утверждение $carts = \Cart::session($session)->getContent(); , я получаю такой объект:

"cart": {
    "1": {
        "id": 1,
        "name": "Tort cu biscuiți",
        "price": 20,
        "quantity": "1",
        "attributes": {
            "image_path": "http://127.0.0.1:8000/storage/images/AkiGKJdxjKNtyoVI034RPL1drLsMntUxLfzqZplV.jpeg"
        },
        "conditions": []
    },
    "2": {
        "id": 2,
        "name": "Tort cu biscuiți",
        "price": 20,
        "quantity": 2,
        "attributes": {
            "image_path": "http://127.0.0.1:8000/storage/images/IkAhenLttHWaRD58hNZ460ykWCq7q1sih3vI9H5V.jpeg"
        },
        "conditions": []
    }
}

, и я хочуподтвердите это, чтобы быть массив объектов. Я попытался $cart->toArray(); и не работал, также я набрал ($) $ cart и получил:

"cart": {
    "\u0000*\u0000items": {
        "1": {
            "id": 1,
            "name": "Tort cu biscuiți",
            "price": 20,
            "quantity": "1",
            "attributes": {
                "image_path": "http://127.0.0.1:8000/storage/images/AkiGKJdxjKNtyoVI034RPL1drLsMntUxLfzqZplV.jpeg"
            },
            "conditions": []
        },
        "2": {
            "id": 2,
            "name": "Tort cu biscuiți",
            "price": 20,
            "quantity": 2,
            "attributes": {
                "image_path": "http://127.0.0.1:8000/storage/images/IkAhenLttHWaRD58hNZ460ykWCq7q1sih3vI9H5V.jpeg"
            },
            "conditions": []
        }
    }
}

Могу я узнать, в чем проблема?

1 Ответ

1 голос
/ 13 октября 2019

Вы можете сделать это вручную, как это:

$carts = \Cart::session($session)->getContent();

if ($carts) {
    $cartsArray = json_decode($carts);
    foreach($cartsArray->cart as &$cart){
        $cart = (array) $cart;
    }
}

dd($cartsArray);

...