gpt4 book ai didi

php - Laravel 4 急切加载 "Undefined Property"

转载 作者:可可西里 更新时间:2023-11-01 13:06:26 24 4
gpt4 key购买 nike

为什么我无法在预加载的 senario 中访问该属性?

我正在尝试访问我的设施模型的照片位置。他们有很多:很多关系。当我使用

加载设施信息时
$facilities = Facility::with('photos')->get();

当我尝试访问时

foreach($facilities as $facility)
{
echo $facility->photos->id;
}

我得到了 Undefined 属性: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"}}]

访问此数组中任何属性的最佳方式是什么?

最佳答案

通过预先加载 photos,您可以获得一个 photos 集合,为了获取您需要遍历 photos 集合的照片,例如

foreach($facilities as $facility)
{

foreach($facility->photos as $photo)
{
echo $photo->id;
}

}

如果您只想要第一张照片,您可以通过调用集合的 first() 方法来获取它

foreach($facilities as $facility) 
{
$facility->photos->first()->id;
}

关于php - Laravel 4 急切加载 "Undefined Property",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17748655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com