Laravel - 跟踪网址/综合浏览量

时间:2018-04-17 10:24:49

标签: laravel filter middleware tracking

我想知道用户是否访问过该页面。并且,如果用户访问了该页面,我想将其显示为“最后一次见到4月16日”

我听说JENKINS_HOMEbefore过滤器现已被中间件取代。

我怎样才能做到这一点? 我在使用Laravel 5.6

路线

after


控制器

Route::get('/{url}', 'Controller@view')->name('view')->where('url', '[\w\d\-]+(.*)');


查看刀片

public function show($url, request $id)
  {
   $item = Item::where('url', $url)->firstorfail();
   return  view ('view');
  }

1 个答案:

答案 0 :(得分:0)

我不确定你为什么需要这个,但无论如何:

您应该使用的是具有参数:https://laravel.com/docs/5.6/middleware#middleware-parameters

的中间件

您必须将您的路线分组为:

Route::group(['middleware' => 'module:supplier'], function () {
    Route::any('supplier/{id}', 'SupplierController@supplier');
    Route::any('suppinv/{invoice}/{order}', 'SuppInvController@suppinv');
    Route::get('suppord/{id}', 'SuppOrdController@suppord');
});

然后你必须更新你的表,你需要中间件,如:

public function handle($request, Closure $next, $module)
{
    DB::table('table_name')->insert(['user_id' => Auth::id(),'module' => $module, 'date_time' => Carbon::now()->toDateString()]);

    return $next($request);
}

如果您不需要某种跟踪可能性,您还可以检查用户是否已访问过页面和更新记录,而不是插入新记录。

您可以通过提供的链接自行找出所有其他内容。

问你是否有任何问题,我会尽快重播。