[英]I can't resolve this error Call to a member function quote() on null
[英]Why can't I properly map nested query on Laravel? "Call to a member function map() on null" shown as error
真的無法在地圖功能后獲得所需的數據。 我希望獲得信用,從 save_details 獲得的日期和從 save_bills 通過關系獲得的 save_bill_number,但現在看起來我陷入了這個致命的問題。 調用地圖上的成員函數顯示廣告致命錯誤。 您的幫助將不勝感激。
這是關系:
public function savingBill()
{
return $this->belongsTo(SavingBill::class);
}
這是我的控制器邏輯:
$savingDetails = SavingDetail::where('date', $request->date)
->with('savingBill')
->get()
->map(function ($savingDetail) {
return [
'credit' => $savingDetail->credit,
'date' => $savingDetail->date,
'saving_bill' => $savingDetail
->saving_bill
->map(function ($inner) {
return [
'saving_bill_number' => $inner->saving_bill_number
];
}) // If I put an semicolon here, IDK why error would be shown, hope nothing with the semicolon
];
});
我不確定這些map()
哪一個實際上拋出了錯誤,但我想這是遍歷saving_bill
關系的第二個。 你在評論中說saving_bill_id
可以為空。 如果是這種情況,關系也將為空,並且沒有提供map()
方法的 Collection。
在假設這個變量總是被填充之前檢查 null:
$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,
];
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.