2017-11-13 1 views
0

Ich möchte einfach eine Spalte für jeden Download erhöhen, aber es fügt 2 oder mehr anstelle von 1. Hier ist mein Code:Increment Spalte vor Antwort herunterladen - Laravel

public function download(Music $music) 
{ 

    $music->increment('downloads'); 


    $file=$music->getFilePath(); 
    return response()->download($file,$music->title); 
} 

Allerdings, wenn ich Antwort remove() -> Download ... Zeile funktioniert es richtig. Was ist das Problem und wie löst man es?

+0

rufst du $ music-> save() an, nachdem du fertig bist? –

+0

Nein Ich speichere die Musik nicht, ich aktualisiere sie nur durch Aufruf der increment Methode. –

Antwort

1
  • Überprüfen Sie, ob die Download-Funktion mehrmals aufgerufen wird, nicht nur einmal.
  • Implementieren Sie die Antwort-Download-Funktion selbst.

[update]

IDM Ausgabe. Kann durch Trennen von Inkrement- und Download-Routen gelöst werden.

+0

Ich bin sicher, dass die Funktion mehrmals aufgerufen wird, wenn Sie response-> download() verwenden, aber es funktioniert einwandfrei, wenn ich den Download-Befehl entferne. –

+0

Wenn Sie einen Download-Manager verwenden, kann er Ihre Route aus verschiedenen Gründen mehrmals hinter der Szene aufrufen. Testen Sie das! – hagere

+0

Woow! Du hast Recht IDM ist der Grund für das Problem. Danke, aber gibt es eine Lösung für dieses Problem? Wie wir wissen, verwenden die meisten Benutzer IDM! –

Verwandte Themen