2016-05-27 6 views
1

Как получить текущую информацию о пользователе в laravel 5.2? Я сделал что-то, чтобы получить имя пользователя, но оно работает неправильно. Вот код, который получает текущую вошедшую в имени пользователяКак получить текущую информацию о пользователе в 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; 
     } 

    } 
} 

Вот если я просто возвращать ** возвращение «Hello» ** в функции CURRENT_USER, она отлично работает после проверки, если условия, так я вижу, что нет проблем с условием. Но когда я вернуть пользователя() -> имя он говорит Вызов неопределенной функции App \ Http \ Контроллеры \ пользователь()

+0

Я проголосовал, чтобы закрыть этот вопрос, так как ответы ниже - это решение, но это простой типографский вопрос, поэтому вопрос будет бесполезным для будущих посетителей. – Hailwood

ответ

1

Чтобы получить доступ к информации авторизованному пользователю использовать \Auth::user(). Вероятно, вам просто не хватает части \Auth::, потому что вы используете правильный синтаксис в состоянии.

+0

Да, и у него есть 2 возвращения, я думаю! –

+0

@AchrafKhouadja Как я понимаю, OP наносил первый возврат намеренно только для проверки того, достигнута ли эта часть кода. –

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 значения, это невозможно. Когда вы вернете что-то, ваш метод перестанет работать. Вот почему вы не получили имя пользователя.

Надеюсь, что это сработает!

Смежные вопросы