我有以下json对象之类的返回数据,
{
"user_token": "ad48c412-3866-4ac9-adf6-3328911ae46c",
"order_info": {
"order_id": "CGC12345678",
"company_id": 32,
"price": 1000.5,
"currency": "MYR",
"products": [
{ "type": "hr_claims", "name": "HR Claims", "is_fixed_price": true, "price": 500.5, "currency": "MYR" },
{ "type": "hr_leave", "name": "HR Leave", "is_fixed_price": true, "price": 500, "currency": "MYR" },
{ "type": "finance_advisory", "name": "FinanceAdvisory", "is_fixed_price": false, "currency": "MYR" }
],
"total_invoices": 200,
"total_staffs": 80
}
}
我想将此对象保存在php表的一行中,但是由于产品具有3个不同的数组,因此我无法将所有3个[products] [name]都保存到php表的一条记录中。
像下面 产品-人力资源索赔,人力资源休假,财务咨询
有人可以帮我吗?
这是我尝试的!这一个返回最后一个!
<td>
@php
$json = $order->data;
$json = json_decode($json, true);
$products = $json['order_info']['products'];
foreach ($products as $hitsIndex => $hitsValue) {
$data = $hitsValue['name']. '<br/>';
}
@endphp
{{$data}}
</td>
答案 0 :(得分:0)
在您的foreach
循环中,您每次迭代都会覆盖$data
,这就是为什么您仅获得最后一个条目的原因。您需要将结果连接到$data
。
更改
foreach ($products as $hitsIndex => $hitsValue) {
$data = $hitsValue['name']. '<br />';
}
到
$data = '';
foreach ($products as $hitsIndex => $hitsValue) {
$data .= $hitsValue['name']. '<br />';
}