Я не уверен, какой из этих map()
на самом деле выдает ошибку, но я предполагаю, что это второй, который проходит через отношение saving_bill
. В комментариях вы сказали, что saving_bill_id
может быть нулевым. Если это так, то отношение также будет нулевым, и нет коллекции, предоставляющей метод map()
.
Проверьте нулевое значение, прежде чем предполагать, что эта переменная всегда заполнена:
$savingDetails = SavingDetail::where('date', $request->date)
->with('savingBill')
->get()
->map(function ($savingDetail) {
return [
'credit' => $savingDetail->credit,
'date' => $savingDetail->date,
'saving_bill' => $savingDetail->saving_bill
? $savingDetail
->saving_bill
->map(function ($inner) {
return [
'saving_bill_number' => $inner->saving_bill_number
];
})
: null,
];
});