Я получаю сообщение об ошибке при попытке получить свойство необъекта, я создал роль и пользовательскую таблицу и передал внешний ключ в пользовательскую таблицу, нет. Я хочу только аутентифицироваться и получить доступ администратора к панели администратора
Я использую другую логику, но для меня это не работает. Вот мой код
UserModel :
public function role(){
return $this->belongsTo(\App\Role::class);
}
RoleModel :
public function users(){
return $this->hasMany(\App\User::class);
}
AdminController :
public function __construct()
{
return $this->middleware(['auth','CheckAdmin']);
}
public function index(){
//$adminUsers = User::with('roles')->where('id',auth()->user()->id)->get();
//dd($adminUsers);
return view('backend.admin.index');
}
CheckAdminMiddleware :
public function handle($request, Closure $next)
{
if(Auth::user()->role->name == 'Admin'){
return redirect('/admin')->with('message', "Successfully Login");
}
return $next($request);
}
My UserTable:
$table->increments('id');
$table->unsignedInteger('role_id')->default(1);
$table->string('name');
$table->string('username')->unique();
$table->string('email')->unique();
$table->string('phone_no',15)->nullable();
$table->string('password');
$table->rememberToken();
$table->enum('status', [0,1])->default(1);
$table->timestamps();
$table->softDeletes();
my roleTable:
Schema::create('roles', function (Blueprint $table) {
$table->increments('id');
$table->string('name')->unique();
$table->boolean('deletable')->default(true);
$table->timestamps();
$table->softDeletes();
});
Я получаю сообщение об ошибке в промежуточном программном обеспечении. что я делаю не так?