创建订单时,我的网络挂钩将响应返回给控制器,以下是我如何检索订单详细信息
控制器
networks:
biodati:
external: true
services:
pipeline:
container_name: pipeline
image: biodati/bel_pipeline:dev
networks:
biodati:
traefik:
image: traefik:1.7
container_name: traefik
ports:
- "80:80"
- "443:443"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- ./conf/traefik.toml:/traefik.toml
- ./logs:/logs
networks:
biodati:
labels:
- traefik.enable=true
- traefik.backend=traefik
- traefik.frontend.rule=Host:traefik.${BS_HOST_NAME:?err}
- traefik.port=8080
- traefik.docker.network=biodati
# BEL API - core requirement
belapi:
container_name: belapi
image: belbio/bel_api:localdev
networks:
biodati:
labels:
- traefik.enable=true
- traefik.backend=belapi
- traefik.frontend.rule=Host:belapi.${BS_HOST_NAME:?err};
- traefik.port=8000
- traefik.docker.network=biodati
如同在我的控制器中一样,我能够检索public function getOrderDetails()
{
// get the content of request body
$order = $request->getContent();
$order = json_decode($order, true);
$order_id = $order['number'];
$order_total = $order['total_price'];
$customer_email = $order['customer.email'];
}
,但无法获得下订单的客户的电子邮件。
我的代码有什么问题?
这是来自Shopify的响应
回复
order_id, order_total
答案 0 :(得分:3)
您可以使用:
$customer_email = $order['customer']['email'];
答案 1 :(得分:0)
1)您的json数据有错误。您应在}
之前删除逗号(,)。2)下面的代码正常工作
$order='{
"id": 820982911946154508,
"email": "jon@doe.ca",
"closed_at": null,
"created_at": "2018-10-26T13:55:26-04:00",
"updated_at": "2018-10-26T13:55:26-04:00",
"number": 234,
"note": null,
"customer": {
"id": 115310627314723954,
"email": "john@test.com",
"accepts_marketing": false,
"created_at": null
}
}';
// get the content of request body
$order = json_decode($order, true);
$order_id = $order['number'];
$order_total = $order['total_price'];
$customer_email = $order['customer']['email'];
echo $customer_email;