如果用户被授权,我想在每个请求上更新用户表字段。我以前从未遇到过这样的任务。我试图写在AppServiceProvider.php
文件上:
public function boot()
{
if(Auth::id()) {
$user = User::find(Auth::id());
$user->updated_at = Carbon::now()->setTimezone("America/Los_Angeles");
$user->save();
}
}
但是在这种情况下,我无法对授权用户进行访问。
我可以让授权用户访问服务提供商吗?
还是通过创建中间件来解决此问题?
注意:我正在执行此任务以找出用户上一次活动的时间。
找到正确的解决方案了吗?服务器上有负载吗?
答案 0 :(得分:1)
通过创建一个新的中间件来尝试这个
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);
}
}