在 Laravel 中创建 JSON 供稿时出现问题
Issue creating JSON feed in Laravel
我正在尝试使用以下格式的两个数据数组创建一个 JSON 提要。
{
"items":[
{
"category_id":1,
"category_name":"Mens Clothing",
"child":[
{
"product_id":1,
"product_name":"Shirts"
},
{
"product_id":2,
"product_name":"T-Shirts"
}
]
}
]
}
但是,我越来越像下面这样了。
{
"items":[
{
"category_id":1,
"category_name":"Mens Clothing",
"child":[
]
}
],
"child":[
{
"product_id":1,
"product_name":"Shirts"
},
{
"product_id":2,
"product_name":"T-Shirts"
}
]
}
我在Laravel中写了以下内容。
$data = [
'items' => [],
];
foreach ($categories as $key => $category) {
$data['items'][$key] = [
'category_id' => $category->id,
'category_name' => $category->category_name,
'child' => [],
];
}
foreach ($products as $key => $product) {
$data['child'][$key] = [
'product_id' => $product->id,
'product_name' => $product->product_name
];
}
谁能帮我解决这个问题?
如果产品有 'category_id' - 像下面这样的东西可以工作:
$data = [
'items' => [],
];
foreach ($categories as $key => $category) {
$children = [];
foreach ($products as $key => $product){
if($product->category_id == $category->id) {
$children[] = $product;
}
}
$data['items'][$key] = [
'category_id' => $category->id,
'category_name'=> $category->category_name,
'child' => $children,
];
}
我正在尝试使用以下格式的两个数据数组创建一个 JSON 提要。
{
"items":[
{
"category_id":1,
"category_name":"Mens Clothing",
"child":[
{
"product_id":1,
"product_name":"Shirts"
},
{
"product_id":2,
"product_name":"T-Shirts"
}
]
}
]
}
但是,我越来越像下面这样了。
{
"items":[
{
"category_id":1,
"category_name":"Mens Clothing",
"child":[
]
}
],
"child":[
{
"product_id":1,
"product_name":"Shirts"
},
{
"product_id":2,
"product_name":"T-Shirts"
}
]
}
我在Laravel中写了以下内容。
$data = [
'items' => [],
];
foreach ($categories as $key => $category) {
$data['items'][$key] = [
'category_id' => $category->id,
'category_name' => $category->category_name,
'child' => [],
];
}
foreach ($products as $key => $product) {
$data['child'][$key] = [
'product_id' => $product->id,
'product_name' => $product->product_name
];
}
谁能帮我解决这个问题?
如果产品有 'category_id' - 像下面这样的东西可以工作:
$data = [
'items' => [],
];
foreach ($categories as $key => $category) {
$children = [];
foreach ($products as $key => $product){
if($product->category_id == $category->id) {
$children[] = $product;
}
}
$data['items'][$key] = [
'category_id' => $category->id,
'category_name'=> $category->category_name,
'child' => $children,
];
}