In my users table I add role_id
column where 1 is admin
and 2 is user
. So, when I want to his page in header in my app.blade.php file like this:
<ul class="nav navbar-nav">
@if(Auth::user()->role_id == 1)
<li><a href="{!! url('/admin/users'); !!}">Users</a></li>
@endif
</ul>
error appear: (3/3) ErrorException The use statement with non-compound name 'Auth' has no effect (View: C:\xampp\htdocs\vendettaesources\views\layouts\app.blade.php) (View: C:\xampp\htdocs\vendettaesources\views\layouts\app.blade.php)
index() method in AdminUsersController looks like this:
<?php
namespace App\Http\Controllers;
use App\User;
use App\Role;
use App\Http\Requests\UserCreateRequest;
use App\Http\Requests\UserUpdateRequest;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Session;
use Auth;
class AdminUsersController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$users = User::paginate(5);
if(Auth::user()->role_id !== 1) {
return redirect('/home');
}
return view('admin.users.index', compact('users'));
}
When I use check()
instead of user()->role_id == 1
, It works but then all users can see except one that not login, but I want to see only admin
.
I cannot find the answer in similar topics...