Я создаю приложение, в котором есть пара фотографий на модели пользователя с именем photo1
и photo2
. Фактические файлы фотографий хранятся на Amazon S3, а относительный путь хранится в базе данных (пример: 10206074968017993/photo1.jpg
). У меня есть аксессоры в модели пользователя, чтобы получить URL для фото:Laravel 5.2: Использование числа в имени атрибута
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
Я думаю, что в photo1
1
, что вызывает ошибка, потому что, если я переименую поле в photo
, код отлично работает. Но поскольку реальное приложение сложнее, чем я описываю здесь, переименование полей не является вариантом. Что я могу сделать?
Что вы видите, когда делают dd ($ this)? – Sangar82