簡體   English   中英

如何訪問Laravel收集數據

[英]How to access laravel collection data

我正在使用wordpress作為前端和laravel作為后端開發應用程序,如果有人使用wordpress儀表板使用此代碼添加新客戶,則我正在使用wooCommerce webhocks來檢索數據

$signature = \Request::header('x-wc-webhook-signature');

$payload = \Request::getContent();
$calculated_hmac = base64_encode(hash_hmac('sha256', $payload, 
env('WOOCOMMERCE_WEBHOOK_ITEM_CREATED'), true));

if ($signature != $calculated_hmac) {
     return 0;
}

從此代碼中,我成功地將數據檢索到以json格式從webhock發送的請求內容中,然后使用

$product = json_decode(\Request::getContent(), true);

然后使用collect函數將json數組轉換為laravel集合

$tt = collect($product);
var_dump($tt);
var_dumb($tt->name);

第一行結果

[Body] => object(Illuminate\Support\Collection)#753 (1) {
  ["items":protected]=>
  array(68) {
    ["id"]=>
    int(9206)
    ["name"]=>
    string(5) "qwdqw"
    ["slug"]=>
    string(5) "qwdqw"
    ["permalink"]=>
    string(42) "https://www.t.com/product/qwdqw/"
    ["date_created"]=>
    string(19) "2019-09-10T11:21:29"
    ["date_created_gmt"]=>
    string(19) "2019-09-10T11:21:29"
    ["date_modified"]=>
    string(19) "2019-09-10T11:21:29"
    ["date_modified_gmt"]=>
    string(19) "2019-09-10T11:21:29"
    ["type"]=>
    string(6) "simple"
    ["status"]=>
    string(7) "publish"
    ["featured"]=>
    bool(false)
    ["catalog_visibility"]=>
    string(7) "visible"
    ["description"]=>
    string(10) "<p>qw</p>
"
    ["short_description"]=>
    string(0) ""
    ["sku"]=>
    string(0) ""
    ["price"]=>
    string(0) ""
    ["regular_price"]=>
    string(0) ""
    ["sale_price"]=>
    string(0) ""
    ["date_on_sale_from"]=>
    NULL
    ["date_on_sale_from_gmt"]=>
    NULL
    ["date_on_sale_to"]=>
    NULL
    ["date_on_sale_to_gmt"]=>
    NULL
    ["price_html"]=>
    string(0) ""
    ["on_sale"]=>
    bool(false)
    ["purchasable"]=>
    bool(false)
    ["total_sales"]=>
    int(0)
    ["virtual"]=>
    bool(false)
    ["downloadable"]=>
    bool(false)
    ["downloads"]=>
    array(0) {
    }
    ["download_limit"]=>
    int(-1)
    ["download_expiry"]=>
    int(-1)
    ["external_url"]=>
    string(0) ""
    ["button_text"]=>
    string(0) ""
    ["tax_status"]=>
    string(7) "taxable"
    ["tax_class"]=>
    string(0) ""
    ["manage_stock"]=>
    bool(false)
    ["stock_quantity"]=>
    NULL
    ["stock_status"]=>
    string(7) "instock"
    ["backorders"]=>
    string(2) "no"
    ["backorders_allowed"]=>
    bool(false)
    ["backordered"]=>
    bool(false)
    ["sold_individually"]=>
    bool(false)
    ["weight"]=>
    string(0) ""
    ["dimensions"]=>
    array(3) {
      ["length"]=>
      string(0) ""
      ["width"]=>
      string(0) ""
      ["height"]=>
      string(0) ""
    }
    ["shipping_required"]=>
    bool(true)
    ["shipping_taxable"]=>
    bool(true)
    ["shipping_class"]=>
    string(0) ""
    ["shipping_class_id"]=>
    int(0)
    ["reviews_allowed"]=>
    bool(false)
    ["average_rating"]=>
    string(4) "0.00"
    ["rating_count"]=>
    int(0)
    ["related_ids"]=>
    array(5) {
      [0]=>
      int(5450)
      [1]=>
      int(5418)
      [2]=>
      int(5449)
      [3]=>
      int(5558)
      [4]=>
      int(5421)
    }
    ["upsell_ids"]=>
    array(0) {
    }
    ["cross_sell_ids"]=>
    array(0) {
    }
    ["parent_id"]=>
    int(0)
    ["purchase_note"]=>
    string(0) ""
    ["categories"]=>
    array(1) {
      [0]=>
      array(3) {
        ["id"]=>
        int(115)
        ["name"]=>
        string(12) "NZCollection"
        ["slug"]=>
        string(12) "nzcollection"
      }
    }
    ["tags"]=>
    array(0) {
    }
    ["images"]=>
    array(0) {
    }
    ["attributes"]=>
    array(0) {
    }
    ["default_attributes"]=>
    array(0) {
    }
    ["variations"]=>
    array(0) {
    }
    ["grouped_products"]=>
    array(0) {
    }
    ["menu_order"]=>
    int(0)
    ["meta_data"]=>
    array(11) {
      [0]=>
      array(3) {
        ["id"]=>
        int(171940)
        ["key"]=>
        string(12) "_swatch_type"
        ["value"]=>
        string(7) "default"
      }
      [1]=>
      array(3) {
        ["id"]=>
        int(171942)
        ["key"]=>
        string(14) "slide_template"
        ["value"]=>
        string(7) "default"
      }
      [2]=>
      array(3) {
        ["id"]=>
        int(171964)
        ["key"]=>
        string(11) "dfiFeatured"
        ["value"]=>
        array(1) {
          [0]=>
          string(0) ""
        }
      }
      [3]=>
      array(3) {
        ["id"]=>
        int(171965)
        ["key"]=>
        string(22) "product_image_on_hover"
        ["value"]=>
        string(3) "yes"
      }
      [4]=>
      array(3) {
        ["id"]=>
        int(171966)
        ["key"]=>
        string(20) "custom_tab_priority1"
        ["value"]=>
        string(2) "40"
      }
      [5]=>
      array(3) {
        ["id"]=>
        int(171967)
        ["key"]=>
        string(20) "custom_tab_priority2"
        ["value"]=>
        string(2) "41"
      }
      [6]=>
      array(3) {
        ["id"]=>
        int(171968)
        ["key"]=>
        string(11) "header_view"
        ["value"]=>
        string(7) "default"
      }
      [7]=>
      array(3) {
        ["id"]=>
        int(171969)
        ["key"]=>
        string(6) "layout"
        ["value"]=>
        string(13) "right-sidebar"
      }
      [8]=>
      array(3) {
        ["id"]=>
        int(171970)
        ["key"]=>
        string(32) "_yoast_wpseo_primary_product_cat"
        ["value"]=>
        string(0) ""
      }
      [9]=>
      array(3) {
        ["id"]=>
        int(171972)
        ["key"]=>
        string(26) "_yoast_wpseo_content_score"
        ["value"]=>
        string(2) "60"
      }
      [10]=>
      array(3) {
        ["id"]=>
        int(171973)
        ["key"]=>
        string(14) "_wpas_done_all"
        ["value"]=>
        string(1) "1"
      }
    }
    ["jetpack_publicize_connections"]=>
    array(0) {
    }
    ["jetpack_sharing_enabled"]=>
    bool(true)
    ["_links"]=>
    array(2) {
      ["self"]=>
      array(1) {
        [0]=>
        array(1) {
          ["href"]=>
          string(55) "https://www.t.com/wp-json/wc/v3/products/9206"
        }
      }
      ["collection"]=>
      array(1) {
        [0]=>
        array(1) {
          ["href"]=>
          string(50) "https://www.t.com/wp-json/wc/v3/products"
        }
      }
    }
  }
}

第二行想向我展示Aklmon插入了此錯誤

#0 /var/www/nz/app/Http/Controllers/wordpress/wpclient.php(137): Illuminate\Support\Collection->__get('name')
#1 [internal function]: App\Http\Controllers\wordpress\wpclient->CreateProduct(Object(Illuminate\Http\Request))
#2 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)
#3 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\Routing\Controller->callAction('CreateProduct', Array)
#4 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Route.php(219): Illuminate\Routing\ControllerDispatcher->dispatch(Object(Illuminate\Routing\Route), Object(App\Http\Controllers\wordpress\wpclient), 'CreateProduct')
#5 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Route.php(176): Illuminate\Routing\Route->runController()
#6 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Router.php(680): Illuminate\Routing\Route->run()
#7 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Routing\Router->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#8 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#9 /var/www/nz/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Routing\Middleware\SubstituteBindings->handle(Object(Illuminate\Http\Request), Object(Closure))
#10 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#11 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#12 /var/www/nz/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Routing\Middleware\ThrottleRequests->handle(Object(Illuminate\Http\Request), Object(Closure), 60, '1')
#13 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#14 /var/www/nz/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#15 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Router.php(682): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#16 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Router.php(657): Illuminate\Routing\Router->runRouteWithinStack(Object(Illuminate\Routing\Route), Object(Illuminate\Http\Request))
#17 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Router.php(623): Illuminate\Routing\Router->runRoute(Object(Illuminate\Http\Request), Object(Illuminate\Routing\Route))
#18 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Router.php(612): Illuminate\Routing\Router->dispatchToRoute(Object(Illuminate\Http\Request))
#19 /var/www/nz/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(176): Illuminate\Routing\Router->dispatch(Object(Illuminate\Http\Request))
#20 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(30): Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(Object(Illuminate\Http\Request))
#21 /var/www/nz/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#22 /var/www/nz/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Fideloper\Proxy\TrustProxies->handle(Object(Illuminate\Http\Request), Object(Closure))
#23 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#24 /var/www/nz/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#25 /var/www/nz/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#26 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#27 /var/www/nz/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#28 /var/www/nz/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))
#29 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#30 /var/www/nz/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#31 /var/www/nz/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))
#32 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#33 /var/www/nz/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(62): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#34 /var/www/nz/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(163): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))
#35 /var/www/nz/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(Object(Illuminate\Http\Request))
#36 /var/www/nz/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(104): Illuminate\Routing\Pipeline->Illuminate\Routing\{closure}(Object(Illuminate\Http\Request))
#37 /var/www/nz/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(151): Illuminate\Pipeline\Pipeline->then(Object(Closure))
#38 /var/www/nz/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))
#39 /var/www/nz/public/index.php(55): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))
#40 {main}

我想知道我是以錯誤的方式訪問收藏集還是什么!

$tt是一個集合,因此您無法訪問name ,而是必須遍歷您的集合:

foreach($tt as $item) {
    var_dump($item['name']);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM