Hallöchen,
das Problem begleitet mich jetzt schon länger, eine Lösung finde ich jedoch nicht dafür.
Es kommt immer wieder vor das einige (vor allem durch Migration übertragene) Einträge in meiner App einen Fehler auslösen: Attempt to read property "filename" on null
Wo das ganze passiert, ist auch recht einfach herausgefunden:
<?php
namespace App\Traits;
trait HasImage
{
public function getImageUrlAttribute(): string
{
return $this->files
? Storage::disk('public')->url('files/show/'.$this->files()->first()->filename.'.webp')
: $this->defaultImage();
}
}
Alles anzeigen
Würde hier ja tatsächlich aber schon das zuvorgehende Property files leer sein, müsste er mir das Standard-Bild ausgeben.
Daran hab ich natürlich auch gedacht, und einfach mal einen der betroffenen Einträge via Tinker mir angeschaut:
App\Models\Image#2439 ▼
id: 325
shortkey: "dDJE1"
description: "{"de": "Ob der Grebuloff genau wie ich über die Zukunft nachdenkt? Das neue Leben das auf Elysium entsteht überrascht mich immer wieder aufs neue."}"
status: 1
watermark: 1
promoted: 0
user_id: 1
folder_id: 1
created_at: "2022-10-25 22:40:58"
updated_at: "2024-08-04 12:52:34"
deleted_at: null
user: App\Models\User {#3419 ▶}
files: Illuminate\Database\Eloquent\Collection {#3416 ▶
all: array:5 [▼
0 => App\Models\File {#3423 ▼
id: 367
filename: "nLyYSZxJKP9IxjBvBEHgQOlQyFlae8Y4KQBO3fM0kHnxRsiHguKQVVpfudQqLDYu"
extension: "webp"
mime: "image/webp"
filesize: 342248
width: 2560
height: 1440
user_id: 1
image_id: 325
created_at: "2022-10-25 22:41:00"
updated_at: "2024-08-04 12:52:36"
deleted_at: null
}
1 => App\Models\File {#3422 ▶}
2 => App\Models\File {#2431 ▶}
3 => App\Models\File {#3426 ▶}
4 => App\Models\File {#3427 ▶}
]
}
folder: App\Models\Folder {#3448 ▶}
+image_url: "https://syntafin.de/storage/files/show/nLyYSZxJKP9IxjBvBEHgQOlQyFlae8Y4KQBO3fM0kHnxRsiHguKQVVpfudQqLDYu.webp"
+folder_url: "https://syntafin.de/storage/files/folder/nLyYSZxJKP9IxjBvBEHgQOlQyFlae8Y4KQBO3fM0kHnxRsiHguKQVVpfudQqLDYu.webp"
+image_contact: "https://syntafin.de/storage/files/contact/nLyYSZxJKP9IxjBvBEHgQOlQyFlae8Y4KQBO3fM0kHnxRsiHguKQVVpfudQqLDYu.webp"
Alles anzeigen
Auffällig für mich ist, das es hier nun scheinbar keine Probleme gibt mir letztendlich image_url zu erzeugen. Die gesuchte Datei ist ja auch vorhanden .
Und lasse ich in besagter Funktion mir zuvor files in den Log schreiben... ja dann steht das sogar im Log das es da ist.
Jemand eine Idee diesbezüglich?