Ankündigung

Einklappen
Keine Ankündigung bisher.

Caching Problem in Laravel

Einklappen

Neue Werbung 2019

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

  • Caching Problem in Laravel

    Hallo,

    ich generiere mit Laravel Mails mit einem Blade Template. Dem Template übergebe ich Daten.

    Nun wird das gerenderte Template gecached und wenn ich eine neue Email erzeuge, werden die Daten nicht aktualisiert.

    Das versenden bzw. rendern erfolgt über einen Horizon Queue Job. Jemand eine Idee was ich da noch einbauen muss, oder den cache deaktivieren kann? Der Cache_driver ist auf array gestellt.

    Ich habe das mit einem Workaround gelöst, in dem ich im Constructor der Mailklasse den Cache leere, aber das scheint mir nicht der richtige Weg zu sein.
    PHP-Code:
    public function __construct(Contact $contact)
    {
        
    $this->contact $contact;
        
    Artisan::call('view:clear');

    Liebe Grüße
    Kerstel

  • #2
    Wie generierst du denn die Mails mit Blade?
    "Software is like Sex, it's best if it's free." - Linus Torvalds

    Kommentar


    • #3
      Hi,

      PHP-Code:
      $data = [
         
      'mail' => $this->contact->mail,
         
      'token' => $this->contact->token
      ];

      Mail::send('emails.welcome'$data)
      ->
      subject('Hey')
      ->
      to($this->contact->mail); 

      Kommentar


      • #4
        Etwas in Vergessenheit geraten.

        Mit der Mail Facade habe ich ehrlich gesagt noch nie gearbeitet. Allerdings erwartet diese laut Doku nicht auch noch ein Closure (vgl. https://laravel.com/docs/5.2/mail#sending-mail)?
        Laut Doku gibt es auch keine Methode to auf den Mail Objekten, gibt es da keinen Fehler?

        Wenn der Fehler noch besteht würde ich das ggf. selbst noch testen.
        "Software is like Sex, it's best if it's free." - Linus Torvalds

        Kommentar


        • #5
          Das Problem liegt nicht am Template. Sondern an der Art wie du die Mail verarbeitest.. Restarte dein Queue Jobs denn dieser hat den alten Stand deines Scripts.

          Kommentar

          Lädt...
          X