Angeblich leere Property, dabei ist sie vorhanden

  • 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:

    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:

    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 :thinking_face:.
    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?

  • Ich hätte eine Frage zu dem Model Image wenn es gestattet ist:

    Du speicherst also jegliche Images die ein User uploadet in einer Tabelle und weißt sie dem Nutzer zu und zusätzlich noch eine Image id. Wozu ist die zusätzliche image_id

  • Wozu ist die zusätzliche image_id

    Die image_id ist aus dem File-Model, damit man weiß zu welchem "Bild" es gehört (grundlegend kann ein Bild mehrere Dateien haben)

    Vielleicht mal so ausprobieren.

    Code
    public function getImageUrlAttribute(): string
        {
            $file = $this->files()->first();
    
            return $file ? Storage::disk('public')->url('files/show/' . $file->filename . '.webp') : $this->defaultImage();
        }

    Das ändert nichts am Problem.

    Einmal editiert, zuletzt von Viper6307 (4. Januar 2025 um 14:10)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!