web-dev-qa-db-ja.com

保護された配列値にアクセスする方法は?

こんにちは私はこの配列を持っていますが、名前、ブランド、画像、トークン値をどのように取得するのかわかりませんか?

Gloudemans\Shoppingcart\CartCollection Object
(
  [items:protected] => Array
     (
          [1264477c2182cc04a63fde1186741fa7] =>       Gloudemans\Shoppingcart\CartRowCollection Object
            (
                [associatedModel:protected] => 
                [associatedModelNamespace:protected] => 
                [items:protected] => Array
                    (
                        [rowid] => 1264477c2182cc04a63fde1186741fa7
                        [id] => 1
                        [name] => washington apples
                        [qty] => 1
                        [price] => 90
                        [options] => Gloudemans\Shoppingcart\CartRowOptionsCollection Object
                            (
                                [items:protected] => Array
                                    (
                                        [brand] => awesome Apple
                                        [image] => C:\xampp\htdocs\srsgrocery\storage/app/products/1/Apple-06.jpg
                                        [token] => WiQgUjqgHEB3HZ2ImJ6iPQWHnm246twFD3Uyk6AH
                                    )

                            )

                        [subtotal] => 90
                    )

            )

    )

私はlaravelと呼ばれるphpフレームワークを使用しています。
助けてください。

8
Aditya Banerjee

オブジェクトを変数に保存し、foreachループを実行します。

foreach($cart as $item) {
    echo $item->name;
    echo $item->options->brand;
}

それが機能しない場合は、fetchクラスのcollectionメソッドを使用できます。

http://laravel.com/api/5.0/Illuminate/Support/Collection.html#method_fetch

$item->fetch('name');

使用しているパッケージには別の方法がありますsearch

$item->search('name');
$item->search(['options' => 'name'])

https://github.com/Crinsane/LaravelShoppingcart/blob/master/src/Gloudemans/Shoppingcart/CartRowOptionsCollection.php

3
Athikrishnan