[英]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.