私は、Userモデルにいくつかの写真があり、photo1
とphoto2
という名前のアプリを作成しています。実際の写真ファイルはAmazon S3に保存され、相対パスはデータベースに保存されます(例:10206074968017993/photo1.jpg
)。Laravel 5.2:属性名に数字を使用する
public function getPhoto1Attribute()
{
return 'https://s3-'.env('AMAZON_REGION').'.amazonaws.com/'.env('AMAZON_BUCKET').'/'. $this->photo1;
}
これは単に写真の完全なURLを返す必要があります、のようなものでなければなりません:
https://s3-us-west-2.amazonaws.com/mybucket/10206074968017993/photo1.jpg
しかしを、私は写真のURLを取得するために、Userモデルでアクセサを持っていますその代わりに、私はそれが原因となっているphoto1
で1
だと思う
Undefined property: App\\Models\\User::$photo1
というエラーを投げていますこのエラーは、フィールドの名前をphoto
に変更するとコードが大きく機能するためです。しかし、実際のアプリは私がここで説明しているより複雑なので、フィールドの名前を変更することは選択肢ではありません。私は何ができますか?
dd($ this)はいつ表示されますか? – Sangar82