为什么在预加载场景下无法访问属性?
我正在尝试访问我的设施模型的照片位置。它们之间有一个多对多的关系。当我使用以下方式加载设施信息时:
$facilities = Facility::with('photos')->get();
当我尝试访问时
foreach($facilities as $facility)
{
echo $facility->photos->id;
}
我遇到了 Undefined property: Illuminate\Database\Eloquent\Collection::$id
的问题。
如果我输出 $facilities->photos
,结果如下。
[{"id":"3",
"name":null,
"location":"facilities\/facility1.jpg\r",
"created_at":"2013-07-18 14:15:19",
"deleted_at":null,
"updated_at":null,
"pivot":{"facility_id":"5","photo_id":"3"}}]
如何访问该数组中的任何属性是最好的方式?
$facility->photos()->first()->id;
应该改为$facility->photos->first()->id;
(在 photos 上不需要括号)。 - Alexandre Danault