2016-08-17 4 views
0

Ich implementiert eine einfache Anzahl von Ansichten mit Sitzung. Es funktioniert wie erwartet, aber der Wert view_count wird sofort in der Datenbank aktualisiert, aber nicht in der Ansicht angezeigt. Ich sollte die Seite neu laden, um das erwartete Ergebnis zu erhalten. Hier ist mein CodeLaravel, Datenbank-Datensatz-Update wird nach der Seitenaktualisierung angezeigt

public function viewArticle($slug){ 
    $article = Article::where('slug',$slug)->first(); 

    $articleKey = 'article_' . $article->id; 

    // Check session exists, if not then increment view count and create session key 

    if (!Session::get($articleKey)) { 
     Article::where('id', $article->id)->increment('view_count'); 
     Session::put($articleKey, 1); 
    } 

    return view('main'); 
} 

ich mehrere Variablen sehen passieren, aber entfernt sie zu befragen um genau zu sein.

Antwort

0

Sie haben die $article nicht neu geladen, es gleich bleiben, versuchen Sie stattdessen:

public function viewArticle($slug){ 
    $article = Article::where('slug',$slug)->first(); 

    $articleKey = 'article_' . $article->id; 

    // Check session exists, if not then increment view count and create session key 

    if(!Session::get($articleKey)){ 
     $article->view_count++; 
     $article->save(); 
     Session::put($articleKey,1); 
    } 

    return view('main'); 
} 
+0

Es funktionierte, danke! –

Verwandte Themen