Beiträge von Syntafin
-
-
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. -
Nutzt du Laravel Cashier? Und kann man sich das mal wo anschauen? Gerade etwas schwer nachzuvollziehen
-
Ich nutze das tatsächlich während der Arbeit oft am Chromebook, so erspart es mir die Installation über Linux Subsystem dort
-
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
-
Das nicht, der Installer wurde überarbeitet, aber durch EOL von Jetstream und dem erscheinen von TailwindCSS V4 soll das schon aktuell sein
.
-
Ist ganz praktisch wenn du einiges mit docker am laufen hast.
-
Hoffe du hast was an
-
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.
-
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.
-
as ich nicht finde ist wo du die besagten Meta Daten Speicherstadt bzw. wie?
JSON
Alles anzeigen[ { "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 } ]
Korrekt, hab das Model einfach File genannt.
Und als relation files() quasi
Bei mir ist es eine HasMandy Relation, da mehrere Dateien einem Model zugewiesen werden können.
-
Macht es Sinn alle hochgeladenen Bilder auch in der DB festzuhalten
Metadaten ja, damit man auch weiß welche Datei es ist.
und welche Daten sollten das genau sein?
Dateiname, Original Dateiname (falls man das möchte), Dateiendung, Größe, Model, Model ID.
Ich hoffe jemand (lach) kann mir eventuell sein HasImages Trait mal zeigen
Ist ja kein Geheimnis wie das aussieht:
PHP: HasImage.php
Alles anzeigen<?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'); } } }
Tipps geben wo es genau hakt.
Dafür müsste man das Problem erstmal kennen.
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?
-
-
Willkommen
-
Kannst du uns vielleicht einen dump von $files schicken?
Gerne erneut wie im Startbeitrag:
CodeFile Count: 5 Filename: RjiXUVJvciYlYSJ46LZqUrO1fzzQGAHvyTbIVfuhHffZSTZ0amZd4rWZiHvdpJsJ Filename: 8zY4MyEbVHfhdjp1DE7JT2TAsZ8Jn2hdFbdrmu0sc4lTfIkHwwPlF5HugdA0msBt Filename: 5gkfI3vvofe5gdICNvSjAo27ioELuYLcyn9WiyDJbs5MzvuVFNdqt5ZqKws7jznk Filename: Mq6ZPB0YrrqoaxzOyasflVDS3RkE0wRV3YMGRIMOdtfmHVDe0a8dHm9VTnQ6qmZg Filename: Zku2g49M0sj4310D77pVFtQnjWDyklxbmZ8klgxwLw8Vgz41ymH3WQBcEuMktL6Q
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.
PHPpublic 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:
$this->files und $this->files() unterschiedliche Ergebnisse zurückgeben können
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.
-
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
Eben aufgefallen, hab vergessen etwas zu entfernen was ich zum debuggen eingesetzt hatte
-
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 anlegenSchon 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.deAktuell bin ich aber nochmal am überarbeiten von Teil 1, da ich es direkt auf Laravel 12 jetzt anpassen möchte und auch TailwindCSS 4.
-
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.
-
Ja, aber nie verwendet weil es eben mit FilamentPHP und Nova einfach viel besseres auf dem Markt gibt und erst genanntes sogar kostenlos ist.
-
Ja der Titel sagt alles
.
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
, 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:
Natürlich etwas gekürzt
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
Alles anzeigenuse 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"; } }
Ergebnis:
CodeFile 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/317Das es durchaus geht, sollte natürlich auch bewiesen sein: https://syntafin.de/gallery/star-citizen/462
Schon mal vorab vielen dank
und hoffe jemand hier weiß weiter!