Если я использую Auth :: user() -> имя пользователя в файле Blade, laravel возвращает мне пустую строку String, но Auth :: user() -> email заполнены. Я использую собственный AuthController и мой вход, регистрацию и выход из системы, но я не могу получить имя пользователя.laravel 5.2 - Auth :: user() -> имя пользователя пуста
routes.php
<?php
Route::group(['middleware' => ['web']] , function() {
Route::get('/', function() {
return view('welcome');
})->name('home');
});
Route::group(['middleware' => ['web','guest']], function() {
Route::auth();
#Sign up Routes
Route::get('/signup', function() {
return view('auth.signup');
})->name('auth.signup');
Route::post('/signup', '[email protected]');
#Sign in Routes
Route::get('/signin', function() {
return view('auth.signin');
})->name('auth.signin');
Route::post('/signin', '[email protected]');
});
Route::group(['middleware' => ['web','auth']], function() {
Route::auth();
#Sign out Routes
Route::get('/signout', '[email protected]')->name('auth.signout');
});
И мой пользовательский Auth контроллер:
<?php
namespace App\Http\Controllers;
use Auth;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\User;
class AuthController extends Controller
{
public function signup(Request $request) {
$this->validate($request, [
'email' => 'required|unique:users|email|max:255',
'username' => 'required|unique:users|alpha_dash|min:2|max:20',
'password' => 'required|min:6'
]);
User::create([
'email' => $request->input('email'),
'username' => $request->input('username'),
'password' => bcrypt($request->input('password')),
]);
return redirect()->route('home');
}
public function signin(Request $request) {
$this->validate($request, [
'email' => 'required',
'password' => 'required'
]);
if(!Auth::attempt($request->only(['email', 'password']), $request->has('remember'))) {
return redirect()->back()->with('flash-message','We can not sign you in with this data!');
}
return redirect()->route('home');
}
public function signout() {
Auth::logout();
return redirect()->route('home');
}
}
Может быть кто-то может помочь мне .
Примечание: Я добавил имя пользователя в User.php под заполненным массивом.
0. Вам не нужно добавлять 2 'web' группы маршрутов промежуточного программного обеспечения, вы можете использовать маршруты «гостя» и «auth» под одним «промежуточным» интерфейсом. Где вы называете Auth :: user() -> username? – Ruffles
Я вызываю это в моем home.blade.php, если использование аутентифицировано (Auth :: check()) –
, поэтому у вас есть что-то вроде '@if (Auth :: check()) Auth :: user() -> имя пользователя @ endif'? – Ruffles