在每个请求上高效更新 table 字段
Efficient update of the table field on each request
如果用户获得授权,我想更新每个请求的用户 table 字段。我以前没有遇到过这样的任务。我试着在 AppServiceProvider.php
文件上写:
public function boot()
{
if(Auth::id()) {
$user = User::find(Auth::id());
$user->updated_at = Carbon::now()->setTimezone("America/Los_Angeles");
$user->save();
}
}
但在这种情况下,我无法将 access 授予授权用户。
我可以让授权用户访问服务提供商吗?
或者通过创建中间件来解决这个问题?
注意:我做这个任务是为了找出用户最后一次activity的时间。
找到的解对了吗?服务器有负载吗?
by creating a new middleware try this one
php artisan make:middleware UserActivityUpdateMiddleware
UserActivityUpdateMiddleware
<?php
namespace App\Http\Middleware;
use Closure;
class UserActivityUpdateMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Auth::User()) {
$user = User::find(Auth::user()->id);
$user->updated_at = Carbon::now()->setTimezone("America/Los_Angeles");
$user->save();
}
return $next($request);
}
}
如果用户获得授权,我想更新每个请求的用户 table 字段。我以前没有遇到过这样的任务。我试着在 AppServiceProvider.php
文件上写:
public function boot()
{
if(Auth::id()) {
$user = User::find(Auth::id());
$user->updated_at = Carbon::now()->setTimezone("America/Los_Angeles");
$user->save();
}
}
但在这种情况下,我无法将 access 授予授权用户。
我可以让授权用户访问服务提供商吗?
或者通过创建中间件来解决这个问题?
注意:我做这个任务是为了找出用户最后一次activity的时间。
找到的解对了吗?服务器有负载吗?
by creating a new middleware try this one
php artisan make:middleware UserActivityUpdateMiddleware
UserActivityUpdateMiddleware
<?php
namespace App\Http\Middleware;
use Closure;
class UserActivityUpdateMiddleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Auth::User()) {
$user = User::find(Auth::user()->id);
$user->updated_at = Carbon::now()->setTimezone("America/Los_Angeles");
$user->save();
}
return $next($request);
}
}