如何在laravel 5.2中获取当前登录的用户详细信息?我已经做了一些事情来获取用户名但它无法正常工作。 以下是获取当前登录用户名的代码
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Http\Request;
use DB;
use Illuminate\Contracts\Auth\User;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Auth\AuthController;
class UserProfileController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function current_user()
{
if(\Auth::check() && \Auth::user()->name) {
return 'hello';
return user()->name;
}
}
}
这里如果我只是在函数current_user中返回**返回'Hello'**,它在检查if条件后工作正常,所以我看到if条件没有问题。但是,当我返回 user() - &gt;名称时,它说 调用未定义的函数App \ Http \ Controllers \ user()
答案 0 :(得分:1)
要使用\Auth::user()
访问授权用户信息。您可能只是缺少\Auth::
部分,因为您在条件中使用了正确的语法。
答案 1 :(得分:0)
您需要稍微更改一下代码。
<?php
namespace App\Http\Controllers;
use App\Http\Requests;
use Illuminate\Http\Request;
use DB;
use Illuminate\Contracts\Auth\User;
use App\Http\Controllers\Controller;
use App\Http\Controllers\Auth\AuthController;
class UserProfileController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function current_user()
{
if(\Auth::check() && \Auth::user()->name) {
return 'Hello '.\Auth::user()->name; //this line changed
}
}
}
之后,您可以获得current user name
。
您想要返回2个值,这是不可能的。当您返回某些内容时,您的方法将停止运行。这就是为什么你没有获得用户名的原因。
希望这有效!