Ankündigung

Einklappen
Keine Ankündigung bisher.

Laravel Events

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Laravel Events

    Hallo,

    ich habe in Laravel 5.5 (PHP 7.1) ein Event für das speichern und das updaten von Adressdaten. Das Event soll quasi Adressänderungen logen, ich speichere dazu einfach den Request. Die handle-Funktion vom Listener sieht so aus:

    PHP-Code:
    protected $request null;

    public function 
    __construct(Request $request)
    {
            
    $this->request $request;
    }

    public function 
    handle(CreateAddress $event)
    {
        
    AddressLog::create([
            
    'customer_id' => $event->address->customer_id,
            
    'address_id' => $event->address->id,
            
    'status' => 'save',
            
    'request_header' => serialize($this->request->header()),
            
    'request_body' => serialize($this->request->all()),
        ]);

    Nun habe ich die Erweiterung, dass Adressen auch per CSV eingelesen werden können, um dubletten der Email zu vermeiden, mach ich das über ein FirstOrNew:
    PHP-Code:
    $address Address::firstOrNew([
        
    'email' => $value->email,
    ]); 
    Dadurch kommt es aber im Event zu einem Fehler:
    PHP-Code:
    {
        
    "error": {
            
    "errors": {
                
    "file""/home/vagrant/projects/app/Listeners/ListenerUpdateAddress.php",
                
    "line"39,
                
    "exception""Exception"
            
    },
            
    "code"0,
            
    "message""Serialization of 'Illuminate\\Http\\UploadedFile' is not allowed"
        
    }

    Ich vermute es liegt daran, dass nun ja kein Request kommt. Wie könnte ich das lösen, dass ich den Request anders an den Listener übergebe, oder dass für FirstOrNew ein anderes Event läuft?

    Vielen Dank und Gruß
    Kerstel


  • #2
    Zitat von kerstel Beitrag anzeigen


    PHP-Code:

    "code"0,
    "message""Serialization of 'Illuminate\\Http\\UploadedFile' is not allowed"
    }

    Naja steht ja da.

    Lösung: https://laracasts.com/discuss/channe...is-not-allowed

    Kommentar


    • #3
      Ach ich depp. Ich kann ja $request->except auf das file machen

      Danke für den Tipp

      Kommentar

      Lädt...
      X