我正在创建一个在用户模型上有几张照片的应用,名为photo1
和photo2
。实际的照片文件存储在Amazon S3上,相对路径存储在数据库中(例如:10206074968017993/photo1.jpg
)。我在User模型中有一个访问器来检索照片的URL:
public function getPhoto1Attribute()
{
return 'https://s3-'.env('AMAZON_REGION').'.amazonaws.com/'.env('AMAZON_BUCKET').'/'. $this->photo1;
}
这应该只返回照片的完整网址,其类似于:
https://s3-us-west-2.amazonaws.com/mybucket/10206074968017993/photo1.jpg
但相反,它会抛出一个错误
Undefined property: App\\Models\\User::$photo1
我认为1
中的photo1
导致了错误,因为如果我将字段重命名为photo
,则代码效果很好。但是因为真正的应用程序比我在这里描述的更复杂,所以重命名字段不是一种选择。我该怎么办?
答案 0 :(得分:0)
我刚刚决定避免在我的变量名中使用任何整数。虽然可能有一种方法可以使它工作,但我只想保持一切尽可能标准化,我认为最好只是避免变量名中的整数。