В настоящее время я зацикливаюсь на массиве с такой структурой:
Categories{
CategoryName
CategoryCode
CategoryDescription
Products{
product_info{
product_code
product_type{
CountNumber
ProductDescription
}
}
prices{
"wholesale":"250",
"retail":"400"
}
}
}
Я зацикливаюсь на вышеуказанном массиве на каждом уровне, и я объявил массив, чтобы я мог поместить в него все свои необходимые значения
$priceResult = array();
foreach($prices->categories as $category){
$categoryName = $category->category_name;
$categoryCode = $category->category_code;
$categoryDescription = $category->category_desc;
foreach($category->products as $product){
foreach($product->product_info as $info){
$product_code = $info->product_code;
foreach($info->product_type as $type){
$CountNumber = $type->CountNumber;
$ProductDescription = $type->ProductDescription;
}
}
foreach ($product->prices as $price => $amount) {
$price_amount = $amount;
}
}
}
У меня проблема в том, что я не знаю, как правильно вставить этот новый массив $priceResult
, чтобы я мог использовать PHPExcel для преобразования его в формат с подзаголовком.
Формат, который я хотел бы получить из приведенного выше примера, будет выглядеть примерно так
Test Category 1 | 123 | Category for Testing
==================================================
PRD123 | 12 | Product for Testing | 150.00
PRD112 | 17 | Product for Testing | 250.00
Test Category 2 | 321 | New Category for Testing
=====================================================
PRD189 | 16 | Product for Testing | 450.00
PRD139 | 34 | Product for Testing | 350.00
Таким образом, я хочу вызвать PHPExcel для моего массива $ priceResult, чтобы получить тот формат, в котором я могу перечислить информацию о своей категории, и для каждого продукта в этой категории у меня будет строка продукта. Все будет сгруппировано по главному заголовку категории
$build = Excel::create($name, function ($excel) use ($priceResult) {
$excel->setTitle('Test Products');
UPDATE:
Так что я думаю, что мой желаемый результирующий массив будет выглядеть примерно так:
CategoryCode : 123
CategoryName : TestCategory
CategoryDescription: For Testing
Products{
0{
Product_code : 123,
CountNumber : 12,
ProductDescription: Test Product,
price_amount : 150.00
},
1{
Product_code : 112,
CountNumber : 32,
ProductDescription: Test Product 2,
price_amount : 250.00
}
}
Таким образом, каждая категория может быть заголовком, а все ее продукты могут быть строками для каждой категории