2016-05-31 3 views
1

Я создаю приложение, в котором есть пара фотографий на модели пользователя с именем 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 

Я думаю, что в photo11, что вызывает ошибка, потому что, если я переименую поле в photo, код отлично работает. Но поскольку реальное приложение сложнее, чем я описываю здесь, переименование полей не является вариантом. Что я могу сделать?

+0

Что вы видите, когда делают dd ($ this)? – Sangar82

ответ

0

Я только решил избежать использования целых чисел в именах переменных. Хотя может быть способ заставить его работать, мне просто нравится держать все как можно более стандартизованным, и я думаю, что лучше всего избегать целых чисел в именах переменных.