laravel - Пользовательский класс не найден - PullRequest
0 голосов
/ 12 июня 2018

Я хочу создать свои собственные классы репозитория, поэтому я создал класс репозитория, который расширяет абстрактный класс (с помощью базовых методов модели):
BoardCategoryRepository

namespace App\Repositories\Board;

use App\Repositories\Repository;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\DB;

class BoardCategoryRepository extends Repository
{
    public function getAllCategoriesWithBoards(): Collection
    {
        return DB::table('board_category')
            ->join('board', 'board_category.id', '=', 'board.category_id')
            ->get()
        ;
    }
}

HomeController

namespace Community\Http\Controllers;

use App\Repositories\Board\BoardCategoryRepository;
use Community\BoardCategory;
use function compact;
use Illuminate\View\View;

class HomeController extends Controller
{
    /**
     * @var BoardCategoryRepository
     */
    protected $boardCategoryRepository;

    public function __construct(BoardCategory $boardCategory)
    {
        $this->boardCategoryRepository = new BoardCategoryRepository($boardCategory);
    }
}

и composer dump-autoload но я получаю ошибку Class 'App\Repositories\Board\BoardCategoryRepository' not found - почему?

1 Ответ

0 голосов
/ 12 июня 2018

Пространство имен для вашего репозитория - App\Repositories\Board, но пространство имен вашего контроллера - Community\Http\Controllers.Если это действительно Community\Http\Controllers.

В качестве альтернативы, проверьте ваш composer.json и найдите в разделе PSR-4 раздел, чтобы увидеть, что приложение зарегистрировано там.Например;

 "psr-4": {
      "App\\": "app/"
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...