所以我和我的controllers
有一些戏剧。他们似乎运作正常,但他们似乎根本没有__construct()
使用controllers
..我试图用它来更新我们的users table
显示上一个活动。
<?php
namespace App\Http\Controllers;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Http\Request;
use App\Helpers\UserHelper;
use App\Helpers\ForumHelper;
use App\Helpers\ShopHelper;
use Auth;
use Image;
use App\User;
use DB;
use Hash;
use File;
class AdminController extends BaseController
{
public function __construct() {
if ($_SERVER["HTTP_CF_CONNECTING_IP"]) {
$_SERVER["REMOTE_ADDR"] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
if(Auth::check()) {
$time = strtotime("now");
DB::table('users')->where('userid', Auth::user()->userid)->update(['lastactivity' => $time]);
}
}
知道我可以做些什么来检查并尝试再次使用它?
我正在运行Laravel
框架5.4.28
我做过类似的项目是运行Laravel
框架版本5.2.45
并在我这样做时工作正常,所以我很困惑为什么会在新版本上发生这种情况。
在从DB
加载内容时,如何实现controllers
更新的任何想法?
答案 0 :(得分:0)
如果您想要活动跟踪器,请添加Web路由中间件:
class ActivityTrackerMiddleware {
public function handle($request,$next) {
if ($request->user()) {
$request->user()->lastactivity = Carbon::now();
$request->user()->save();
}
return $next($request);
}
}
在您的网络中间件中添加:
'web' => [ ...
StartSession::class,
ActivityTrackerMiddleware::class,
...
];
如果您愿意,也可以将其限制为管理员控制器。