Я хочу сгенерировать многомерный массив в контроллере для отображения данных в представлении.
Я пробовал это: -
$data2 = [];
foreach ($batch->details as $member_id){
$data2['details'][] = $member_id;
$invoices = $member_id->invoice_id;
$invoice_ids = explode(',', $invoices);
$payments = Payment::with('codes')->whereIn('id', $invoice_ids)-
>get();
$data2['details'][]['payments'] = $payments->toArray();
}
Я получаю этот тип массива: -
'batch'=>array('id'=>1,
'name'=>"test",
"detail"=>array(0=>array( 'id'=>1,
'name'=>"tedsadst1",
'amount'=>30)
1=>array( 'id'=>3,
'name'=>"dsadsad",
'amount'=>30),
2=>array('id'=>4,
'name'=>"dsadasddsa",
'amount'=>30)
)
);
'payment'=>array(0=>array(0=>array('id'=>1,'name'=>"hello",
'amount'=>30,'other'=>"hello"
),
1=>array('id'=>3,'name'=>"demo",
'amount'=>330,'other'=>"world"
),
2 => array('id'=>7,'name'=>"dsad",
'amount'=>90,'other'=>"dasd")
)
)
я хочу этот тип многомерного массива: -
array('batch'=>array('id'=>1,
'name'=>"test",
"detail"=>array(0=>array('id'=>1,
'name'=>"test1",
'amount'=>30
"payment"=>array(0=>array(
0=>array('id'=>1,
'name'=>"hello",
'amount'=>30,
'other'=>"hello"),
1=>array('id'=>3,
'name'=>"demo",
'amount'=>330,
'other'=>"world"),
2 => array('id'=>7,
'name'=>"dsad",
'amount'=>90,
'other'=>"dasd")
)
)
),
1=>array('id'=>2,
'name'=>"test2",
'amount'=>60,
"payment"=>array(
0=>array(0=>array(
'id'=>9,
'name'=>"dsada",
'amount'=>852,
'other'=>"dsadsa"),
)
)
),
2=>array('id'=>3,
'name'=>"test3",
'amount'=>70.
"payment"=>array(
0=>array(0=>array(
'id'=>15,
'name'=>"hgfh",
'amount'=>30,
'other'=>"hehretllo"),
1=>array('id'=>17,
'name'=>"dsterad,
'amount'=>950,
'other'=>"gdfgg")
)
)
)
)
)
как получить многомерный массив, подобный этому, используя функции foreach или array, я использую два foreach, но я не получилмассив выглядит так. поэтому, пожалуйста, помогите мне. спасибо