Было бы лучше, если бы вы могли обновить структуру объекта запроса, так как должен быть один массив, и каждый индекс массива будет иметь значения для суммы и поступления, а не отдельные массивы суммы и поступления
$data[] = $request->data;
foreach ($data as $key => $value) {
$reimbursement_item = ReimbursementItem::create([
'user_id' => $user->id,
'amount' => $value['amount'],
'receipt' => $value['receipt']
]);
}
Другой подход будетбыть, если длина обоих массивов $amount
и $receipt
одинакова каждый раз, и значения находятся в правильном порядке, вы также можете обновить данные в одном цикле, например
foreach ($amount as $key => $value) {
$reimbursement_item = ReimbursementItem::create([
'user_id' => $user->id,
'amount' => $value,
'receipt' => (isset($receipt[$key]))? $receipt[$key]: null
]);
}