Laravel,页面刷新后显示数据库记录更新

时间:2016-08-17 16:44:43

标签: php mysql session controller laravel-5.2

我用会话实现了一个简单的视图计数。它按预期工作,但 view_count 值会立即在数据库中更新,但不会显示在视图中。我应该重新加载页面以获得预期的结果。 这是我的代码

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');
}

我传递了多个变量进行查看,但将其删除以特定于问题。

1 个答案:

答案 0 :(得分:0)

您没有重新加载$article,它保持不变,请尝试这样做:

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');
}