相关疑难解决方法(0)

laravel 5.5 在构造函数中获取用户详细信息

我正在构建一个具有多个用户角色和操作的应用程序。我确实遵循了laravel 官方文档(https://laravel.com/docs/5.5/middleware#middleware-parameters)。

但是在我的控制器的构造函数中(从我调用上面的中间件的地方)我使用 Auth 外观来获取用户详细信息。我知道如何使用 Auth 门面,我已经在我的应用程序中的几个地方实现了它。但是当我在构造函数中使用它时,它返回 null(在登录条件下 - 我仔细检查过)。

我是这样实现的,我必须调用两个控制器(因为只有注册用户才能访问该页面)

public function __construct()
{
    $role = Auth::user()->role;
    $this->middleware('auth');
    $this->middleware('checkRole:$role');
}
Run Code Online (Sandbox Code Playgroud)

PS:我尝试将 $role 变量初始化为 protected 并且在构造函数之外,仍然无法正常工作。任何建议都会有所帮助

谢谢你。

php laravel laravel-5.5

10
推荐指数
2
解决办法
1万
查看次数

在Laravel 5.1中执行Action之前

我在store和update方法中编写以下代码:

$v = Validator::make($request->all(), [
    'field' => 'required|max:100|min:5'
]);

if ($v->fails()) {
    return redirect('route name')
                ->withErrors($v)
                ->withInput();
}
Run Code Online (Sandbox Code Playgroud)

是否有任何内置的动作方法在执行任何动作方法之前执行?如果是这样,它对个人行动方法或控制器有效吗?

php laravel-5 laravel-5.1

7
推荐指数
2
解决办法
5047
查看次数

如何在laravel的构造函数中获取当前用户ID?

我正在使用 laravel 5.7,但我无法在 __construct() 中获取当前用户 ID。

我也试过 Auth:id(),但它也不起作用。

如何在构造函数中获取当前用户 ID?

use Illuminate\Support\Facades\Auth;

class TestController extends Controller
{

    public $id;

    public function __construct()
    {
        $this->middleware('auth');
        $this->middleware(function ($request, $next) {
            $this->id = Auth::user()->id;
            return $next($request);
        });
        dd($this->id);
    }
}
Run Code Online (Sandbox Code Playgroud)

当前输出为空。

laravel

3
推荐指数
2
解决办法
4393
查看次数

标签 统计

laravel ×2

php ×2

laravel-5 ×1

laravel-5.1 ×1

laravel-5.5 ×1