我有一個雄辯的關系查詢,但我得到 ErrorException: Trying to get property 'id' of shop->id。
$collection = Lead::with('shop');
$collection = $collection->orderBy('data', 'DESC');
$collection = $collection->get();
$json = $collection->map(function ($contact) {
return [
'id' => $contact->id,
'name' => $contact->name,
'shop' => [
'id' => $contact->shop->id,
'name' => $contact->shop->name
],
];
});
return response()->json(['contacts' => $json], 200);
有沒有辦法將雄辯的映射與關系一起使用?
uj5u.com熱心網友回復:
使用 Laravel 的輔助方法:
optional()
該
optional函式接受任何引數并允許您訪問該物件的屬性或呼叫方法。如果給定的物件是null,屬性和方法將回傳null而不是導致錯誤:
代替:
// ...
'id' => $contact->shop->id,
'name' => $contact->shop->name
// ...
用這個:
// ...
'id' => optional($contact->shop)->id, ?
'name' => optional($contact->shop)->name ?
// ...
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/442692.html
上一篇:貓鼬將每個物件推入陣列中
