1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Mitglieder
  3. Syntafin

Beiträge von Syntafin

  • Smalltalk - Chatten, Diskutieren....

    • Syntafin
    • 26. März 2025 um 00:58

    So, möglichkeit gefunden wie der Editor mir das übernimmt, ohne das ich jetzt erstmal viel "Arbeit" in ein Plugin dafür stecken muss:

    Muss nur mein Theme dafür noch anpassen :grinning_squinting_face:

  • Shop System mit Laravel

    • Syntafin
    • 25. März 2025 um 23:22

    Was sollen den User Credits sein? So ganz verstehe ich gerade nicht was du nun genau für eine Frage hast.
    Ansonsten... würde stark davon abraten solch ein brisantes Thema wie Payment-Gateways neu zu erfinden und lieber auf bestehende Implementierungen zurückgreifen, ist vor allem rechtlich sicherer.

  • Shop System mit Laravel

    • Syntafin
    • 24. März 2025 um 21:15

    Nutzt du Laravel Cashier? Und kann man sich das mal wo anschauen? Gerade etwas schwer nachzuvollziehen :grinning_face_with_smiling_eyes:

  • Cloud/Web/App IDE

    • Syntafin
    • 24. März 2025 um 19:42

    Ich nutze das tatsächlich während der Arbeit oft am Chromebook, so erspart es mir die Installation über Linux Subsystem dort :)

  • Cloud/Web/App IDE

    • Syntafin
    • 24. März 2025 um 10:20

    Wenn ein echter Browser zur Verfügung steht.... Wieso nicht einfach Repo in GitHub öffnen, und . drücken?

    Den Trick kennt vlt hier niemand aber bisher :grinning_face_with_smiling_eyes:

  • Smalltalk - Chatten, Diskutieren....

    • Syntafin
    • 22. März 2025 um 15:05

    Das nicht, der Installer wurde überarbeitet, aber durch EOL von Jetstream und dem erscheinen von TailwindCSS V4 soll das schon aktuell sein :grinning_face_with_smiling_eyes:.

  • Smalltalk - Chatten, Diskutieren....

    • Syntafin
    • 19. März 2025 um 23:36

    Ist ganz praktisch wenn du einiges mit docker am laufen hast.

  • Smalltalk - Chatten, Diskutieren....

    • Syntafin
    • 18. März 2025 um 16:00

    Hoffe du hast was an :winking_face:

  • Laravel HasImages Trait

    • Syntafin
    • 17. März 2025 um 22:14

    Downloads laufen bei mir über temporäre URLs, da die ja entweder außerhalb des öffentlichen Bereiches liegen die original Dateien, oder eben auf Object Storages wie Amazon S3, Cloudflaute R2 etc.

    Das JSON da oben ist vom File Model, mehr Daten speichere ich darin nicht ab, die Dateien sind aber ausschließlich für das Image Model, weshalb ich keine Angabe zum model speichere.

  • Laravel HasImages Trait

    • Syntafin
    • 17. März 2025 um 19:32

    Der Trait baut bei mir nur die URLs, erfüllt also aktuell sonst keine Funktion.

    Wenn der Upload bei dir an mehreren Stellen erfolgt, macht es schon Sinn das ganze in einen Trait oder Service auszulagern.

  • Laravel HasImages Trait

    • Syntafin
    • 17. März 2025 um 19:03
    Zitat von PixelPatron

    as ich nicht finde ist wo du die besagten Meta Daten Speicherstadt bzw. wie?

    JSON
    [
      {
        "id": 1,
        "filename": "1MPNaYV4MzyLjJ4vnnQgTlcCBTPuDDxZXeEwM7k4",
        "extension": "jpg",
        "mime": "0",
        "filesize": 1760742,
        "width": 1829,
        "height": 2560,
        "user_id": 1,
        "image_id": 1,
        "created_at": "2025-03-14 21:16:37",
        "updated_at": "2025-03-14 21:16:37",
        "deleted_at": null
      }
    ]
    Alles anzeigen

    Korrekt, hab das Model einfach File genannt.

    Zitat von PixelPatron

    Und als relation files() quasi

    PHP
    public function files(): HasMany
    {
        return $this->hasMany(File::class);
    }

    Bei mir ist es eine HasMandy Relation, da mehrere Dateien einem Model zugewiesen werden können.

  • Laravel HasImages Trait

    • Syntafin
    • 17. März 2025 um 15:02
    Zitat von PixelPatron

    Macht es Sinn alle hochgeladenen Bilder auch in der DB festzuhalten

    Metadaten ja, damit man auch weiß welche Datei es ist.

    Zitat von PixelPatron

    und welche Daten sollten das genau sein?

    Dateiname, Original Dateiname (falls man das möchte), Dateiendung, Größe, Model, Model ID.

    Zitat von PixelPatron

    Ich hoffe jemand (lach) kann mir eventuell sein HasImages Trait mal zeigen

    Ist ja kein Geheimnis wie das aussieht:

    PHP: HasImage.php
    <?php
    
    namespace App\Traits;
    
    use Illuminate\Support\Facades\Storage;
    
    trait HasImage
    {
        public function getFolderUrlAttribute(): string
        {
            return $this->files()->exists()
                ? Storage::url('public/files/folder/'.$this->files()->first()->filename.'.webp')
                : $this->defaultImage();
        }
    
        public function getPreviewUrlAttribute(): string
        {
            return $this->files()->exists()
                ? Storage::url('public/files/large/'.$this->files()->first()->filename.'.webp')
                : $this->defaultImage();
        }
    
        public function getImageUrlAttribute(): string
        {
            return $this->files()->exists()
                ? Storage::url('public/files/show/'.$this->files()->first()->filename.'.webp')
                : $this->defaultImage();
        }
    
        public function getImageContactAttribute(): string
        {
            return $this->files()->exists()
                ? Storage::url('public/files/contact/'.$this->files()->first()->filename.'.webp')
                : $this->defaultImage();
        }
    
        protected function defaultImage(): string
        {
            return Storage::disk('public')->url('default.webp');
        }
    }
                                                                                                                                                                                                }
    Alles anzeigen
    Zitat von PixelPatron

    Tipps geben wo es genau hakt.

    Dafür müsste man das Problem erstmal kennen.

    Zitat von PixelPatron

    Von Prinzip her klappt der Upload schon allerdings wird es nicht in die Datenbank eingetragen.

    Am Upload ändert sich ja nichts, aber wie versuchst du es denn einzutragen?

  • Smalltalk - Chatten, Diskutieren....

    • Syntafin
    • 16. März 2025 um 22:15

    Hat mir die IDE vorgeschlagen gehabt.

    Code
    <InfoBanner>Text</InfoBanner>
  • Vorstellung Frederik H

    • Syntafin
    • 16. März 2025 um 13:46

    Willkommen :)

  • Attempt to read property "filename" on null

    • Syntafin
    • 15. März 2025 um 02:40
    Zitat von Cheety

    Kannst du uns vielleicht einen dump von $files schicken?

    Gerne erneut wie im Startbeitrag:

    Code
    File Count: 5
    
    Filename: RjiXUVJvciYlYSJ46LZqUrO1fzzQGAHvyTbIVfuhHffZSTZ0amZd4rWZiHvdpJsJ
    Filename: 8zY4MyEbVHfhdjp1DE7JT2TAsZ8Jn2hdFbdrmu0sc4lTfIkHwwPlF5HugdA0msBt
    Filename: 5gkfI3vvofe5gdICNvSjAo27ioELuYLcyn9WiyDJbs5MzvuVFNdqt5ZqKws7jznk
    Filename: Mq6ZPB0YrrqoaxzOyasflVDS3RkE0wRV3YMGRIMOdtfmHVDe0a8dHm9VTnQ6qmZg
    Filename: Zku2g49M0sj4310D77pVFtQnjWDyklxbmZ8klgxwLw8Vgz41ymH3WQBcEuMktL6Q
    Zitat von Cheety

    Man sollte auch nicht direkt Attribute auslesen, ohne das Objekt selber abgefragt zu haben:

    Mache ich ja auch nicht, das da oben ist ein "Demo-Code" mit dem ich es manuell überprüft habe ob da wirklich nichts drin steht, was nicht mal möglich wäre.

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

    Wie schon bereits erwähnt, ist das ein Pseudo-Fehler der unmöglich ist bewusst zu reproduzieren, bei 1 Mrd. Versuche, gehen entweder alle 1 Mrd schief, oder es klappt 1x ihn zu provozieren.


    Update:

    Zitat von Cheety

    $this->files und $this->files() unterschiedliche Ergebnisse zurückgeben können :grinning_squinting_face:

    Ja, das war die Lösung.... Nachdem ich das gefunden habe, leuchtet es auch auf wieso.

    files() kann an der Stelle zu Problemen führen, wieso es aber fast immer funktioniert, und nur selten nicht, bleibt schleierhaft.

    Kleiner Tipp: man kann Beiträge bearbeiten, statt 3x hintereinander neuen Beitrag.

  • Smalltalk - Chatten, Diskutieren....

    • Syntafin
    • 15. März 2025 um 01:40
    Zitat von Coding_Frettchen

    Moin, hat jemand Erfahrungen mit ASR spezifisch Kaldi und deutschen Sprachmodellen oder mit lokaler Transkription mit Sprechererkennung

    Mach dafür am besten im passenden Bereich ein Thema auf, damit man auch erstmal weiß worum es Grundlegend geht und nicht untergeht in einem Offtopic Thema :winking_face:


    Eben aufgefallen, hab vergessen etwas zu entfernen was ich zum debuggen eingesetzt hatte :grinning_squinting_face:

  • Smalltalk - Chatten, Diskutieren....

    • Syntafin
    • 14. März 2025 um 23:23
    Zitat von PixelPatron

    SAG mal hast du nicht mal drüber nachgedacht so ne tutorial Serie zu starten? Wäre mit deinem wissen ja krank.

    Laravel Tutorial Teil 1: Installation & Projekt anlegen
    Schon lange habe ich überlegt eine Tutorial Reihe zu starten in einem solchen Bereich, aber auch überlegt worüber.Ja es gibt da draußen unzähli...
    syntafin.de

    Aktuell bin ich aber nochmal am überarbeiten von Teil 1, da ich es direkt auf Laravel 12 jetzt anpassen möchte und auch TailwindCSS 4.

  • Smalltalk - Chatten, Diskutieren....

    • Syntafin
    • 14. März 2025 um 16:38
    Zitat von PixelPatron

    Meine models können aber bleiben oder?

    Filament greift nicht in den Rest deiner App ein, außer du verwendest ebenfalls Livewire, dann musst du schauen das du mit der selben Version arbeitest die auch Filament fordert.

  • Smalltalk - Chatten, Diskutieren....

    • Syntafin
    • 13. März 2025 um 19:04

    Ja, aber nie verwendet weil es eben mit FilamentPHP und Nova einfach viel besseres auf dem Markt gibt und erst genanntes sogar kostenlos ist.

  • Attempt to read property "filename" on null

    • Syntafin
    • 12. März 2025 um 19:57

    Ja der Titel sagt alles :face_with_rolling_eyes:.

    Ein Problem das mich durch die Versionen hinweg begleitet, wird mir nun als "Occured 1000 Times" von meinem Error-Tracking gelabelt... Zeit mal vielleicht doch den Grund zu finden?

    Bei einigen Datenbank Einträgen bekomme ich beim Abruf eben jener eine Fehlermeldung um die Ohren geworfen, die eben genau dieser dort oben entspricht: Attem to read property "filename" on null.

    Nun gut, ich hab mir die besagten Einträge angeschaut und was soll ich sagen.... filename ist nicht null :thinking_face:, da steht genau wie es soll der Name der Datei drin!
    Das ganze passiert auch in einem Trait der dafür zuständig ist eine entsprechende URL zurückzugeben, um eben die gewünschte Datei auszugeben. Ich prüfe schon vorab in den jeweiligen Funktionen ob überhaupt Dateien verfügbar sind, sonst käme es ja nie so weit.

    Jetzt das kuriose! Frage ich es "manuell" ab, ist alles wie es sein soll, ja sogar im Stacktrace angehangenen JSON das die Routing Parameter zeigt sieht man die URLs die generiert werden.... samt dem beschuldigten!

    Kurzum aber mal, vielleicht zum besseren Verständnis, hier der besagte Stack-Trace:

    Flare

    Natürlich etwas gekürzt :winking_face: Nutzerdaten und so fehlen diesem.

    Die betadelte Funktion getImageUrlAttribute macht nichts anderes als aus dem einfachen Dateinamen eine gültige URL zu erzeugen, um eben die Datei auch anzuzeigen auf einfache Art und weiße (ich sag nur <img :src="image_url" />).


    Um nicht ganz blöd dazustehen, habe ich das ganze auch wie besagt schon manuell getestet mit folgendem Code:

    PHP
    use App\Models\Image;
    
    $image = Image::find(317);
    $image->load("files");
    
    $files = $image->files;
    
    echo "File Count: " . $files->count() . "\n" . "\n";
    foreach ($files as $file) {
      if (!is_null($file->filename)) {
        echo "Filename: " . $file->filename . "\n";
      }
    }
    Alles anzeigen

    Ergebnis:

    Code
    File Count: 5
    
    Filename: RjiXUVJvciYlYSJ46LZqUrO1fzzQGAHvyTbIVfuhHffZSTZ0amZd4rWZiHvdpJsJ
    Filename: 8zY4MyEbVHfhdjp1DE7JT2TAsZ8Jn2hdFbdrmu0sc4lTfIkHwwPlF5HugdA0msBt
    Filename: 5gkfI3vvofe5gdICNvSjAo27ioELuYLcyn9WiyDJbs5MzvuVFNdqt5ZqKws7jznk
    Filename: Mq6ZPB0YrrqoaxzOyasflVDS3RkE0wRV3YMGRIMOdtfmHVDe0a8dHm9VTnQ6qmZg
    Filename: Zku2g49M0sj4310D77pVFtQnjWDyklxbmZ8klgxwLw8Vgz41ymH3WQBcEuMktL6Q

    Also ich kann mich natürlich verzählt haben, aber da werden 5 Dateien gefunden und 5 auch aufgelistet.

    Ich bin hier echt mit meinem Wissen am Ende, aber vielleicht hat hier ja jemand noch eine Idee wo das Problem ist.
    Die besagte URL die einen Fehler wirft: https://syntafin.de/gallery/final-fantasy-xiv/317

    Das es durchaus geht, sollte natürlich auch bewiesen sein: https://syntafin.de/gallery/star-citizen/462


    Schon mal vorab vielen dank :grinning_face_with_smiling_eyes: und hoffe jemand hier weiß weiter!

Rechtliches

Impressum

Datenschutzerklärung