将变量传递给刀片会导致Increment()两次增加DB字段

时间:2019-01-17 19:05:00

标签: php laravel laravel-5 laravel-blade

在我的Blade文件article.blade.php中,包括了另一个带有变量的视图。

刀片

@include('frontend/header', ['page_title' => 'hello' ])

控制器

public function hitCollector($article_id)
{
    $data["article"] = DB::table('selected_articles')
        ->where('published', 1)
        ->where('id', $article_id)
        ->get();

    //collecting hit
    DB::table('selected_articles')
        ->where('id', $article_id)
        ->increment('clicks');

    return view('frontend/article', $data);
}

结果,对于给定的记录,数据库字段“ 点击”增加了两倍(+2),但没有增加(+1)。我注意到只有当我从Blade包含行中删除['page_title' => 'hello']部分时,加倍才会停止。

有什么想法吗?错误吗?

1 个答案:

答案 0 :(得分:1)

我发现了问题...问题确实不在Laravel中。 我跟踪了服务器的访问日志,并开始等待命中数,同时从浏览器的url字段中触发了命中数。

还有……wolla,丑陋,像这样的<link rel="icon" href="favicon.ico">

丑陋的header.blade.php小错误

导致此:

这解释了为什么包含标头会导致increment();如此奇怪的行为。

感谢大家的支持,也很抱歉! :(