前提
larave v9.39.0でwebサイトを作成しています。
一通りMacでの開発が終了し、本番環境のAmazonLinux2にて動作確認を行ったところ、index.blade.phpで画像を取得するためにデータベースから画像の名前を取得する箇所でAttempt to read property "name" on nullが出てきました。
開発環境ではnameから情報が取得できていました。
エラーが出ている箇所
<img src="{{ Storage::disk('dropbox')->url($image->name) }}" loading="lazy" alt="Photo by Martin Sanchez" class="object-contain object-cover object-center absolute inset-0 group-hover:scale-110 transition duration-200" />
実現したいこと
- データベースから特定の画像の名前を取得したい
発生している問題・エラーメッセージ
エラーメッセージ:Attempt to read property "name" on null
該当のソースコード
<div class="flex overflow-x-auto"> @foreach($events as $event) <summary class="list-none"> <div class=" py-2 "> <div class="mr-2 sm:mr-2 md:mr-2 lg:mr-2 xl:mr-2"> <div class="h-24 w-32 sm:h-32 sm:w-44 flex flex-col "> @php $image = $event->images->first() @endphp <a href="{{ route('event.page',['eventId'=>$event->id]) }}" class="group rounded-lg h-16 w-32 sm:h-24 sm:w-44 block bg-gray-100 overflow-hidden relative"> <img src="{{ Storage::disk('dropbox')->url($image->name) }}" loading="lazy" alt="Photo by Martin Sanchez" class="object-contain object-cover object-center absolute inset-0 group-hover:scale-110 transition duration-200" /> </a> <div class="flex flex-col flex-1 text-xs"> <a href="{{ route('event.page',['eventId'=>$event->id]) }}" class=" whitespace-nowrap overflow-hidden active:text-indigo-600 transition duration-100"> @if ($event->support_pc && $event->support_quest) <span style="">All</span> @elseif($event->support_pc) <span style="">PC</span> @elseif($event->support_quest) <span style="">Qu</span> @else <span style="">err</span> @endif {{ $event->title }} </a> <p class="text-xs"> @foreach($event->event_datetimes as $event_datetime) {{ (new DateTime($event_datetime->Start_Date))->format('m/d H:i'); }}~{{ (new DateTime($event_datetime->Start_Date))->modify('+' . $event_datetime->End_Date . ' minutes')->format('H:i'); }} @endforeach </p> </div> </div> </div> </div> </summary> @endforeach </div>
試したこと
似たような事例がないか調べたりしたのですが、しっかりと調べられてないのか参考になるものが見つけられませんでした。
また、確認したことにはなってしまいますが、データベースに画像の名前が存在するかの確認を行いました。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/01/27 12:26
2023/01/27 13:52