Laravel Undefined variable: user
To preface this, I've gone through most of the answers that match my question, pretty much I have an undefined variable for the user.
I want to be able to display the logged in user in the control panel, I have used this code before and it worked, but not for this application.
Undefined variable: user (View: /Applications/MAMP/htdocs/eli/resources/views/dashboard.blade.php)
Here is my code,
UserController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\User;
use App\Http\Requests;
class UserController extends Controller
{
public function getWelcome()
{
return view('welcome');
}
public function getDashboard()
{
$users = User::all();
return view('dashboard', compact('users'));
}
public function userSignUp(Request $request)
{
$this->validate($request, [
'email' => 'required|email|unique:users',
'first_name' => 'required|max:120',
'password' => 'required|min:4'
]);
$email = $request['email'];
$first_name = $request['first_name'];
$password = bcrypt($request['password']);
$user = new User();
$user->email = $email;
$user->first_name = $first_name;
$user->password = $password;
$user->save();
return redirect()->route('dashboard');
}
public function postSignin(Request $request)
{
$remember = $request->input('remember_me');
if(Auth::attempt(['email'=> $request['email'], 'password' => $request['password']], $remember )){
return redirect()->route('dashboard');
}
return redirect()->back();
}
}
dashboard.blade.php
@extends('layouts.layout')
@section('title')
Dashboard
@endsection
@section('content')
<div class="container eli-main">
<div class="row">
<div class="col-md-6 col-md-12">
<h1>{{$user->username}}</h1>
</div>
</div>
@endsection
+3
source to share
1 answer
You are passing the collection $users
to the view, so you have to iterate over it if you want to display all usernames:
@foreach ($users as $user)
{{ $user->username }}
@endforeach
If you want to display the name of the authenticated user, just do this:
{{ auth()->user()->username }}
+1
source to share