Laravel 5.3: класс компании не существует

Я создаю бизнес-каталог, в котором будет две разные панели управления в соответствии с ролями пользователей, которые могут быть: Администратор или же Компания.

Чтобы справиться с этим, была разработана следующая процедура:

1- Создайте новое промежуточное ПО:

php artisan make:middleware Company

2- Код для промежуточного программного обеспечения компании (то же самое для администратора и сообщества):

<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;

class Company
{
/**
* Handle an incoming request.
*
* @param  \Illuminate\Http\Request  $request
* @param  \Closure  $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(Auth::check()){
if(Auth::user()->isCompany()){
return $next($request);
}
}
return redirect('/');
}
}

3- Добавлена ​​следующая функция в моей модели User:

public function isCompany(){
if($this->role->Role_Type  == "Company" && $this->is_active == 1){
return true;
}
return false;
}

4- занимался маршрутизацией

Route::group(['middleware'=>'company'], function(){
Route::get('/company', function(){
return view('company.index');
});
});

5- Создан новый пользователь с ролевой компанией

На данный момент, однажды пытаясь войти в систему с этим пользователем, всегда получать подсказку с этим сообщением:

ReflectionException в файле Container.php 734:
Класс компании не существует

Есть идеи, как это решить?

На заметку: уже пробовал: composer dump-autoload

1

Решение

Первая проблема, которую я вижу, заключается в том, что в вставленном вами коде имя класса Community вместо Company, Имя класса должно совпадать с именем файла, регистром и всеми. Кроме того, вы можете поделиться своим файлом промежуточного программного обеспечения? Если проблема не связана с именованием, возможно, существует проблема со ссылкой внутри одного из файлов вашего провайдера или ядра.

1

Другие решения

Других решений пока нет …