Laravel | Невозможно построить класс с моделью - PullRequest
0 голосов
/ 13 апреля 2020

В настоящее время я пытаюсь использовать контейнер приложения Laravel для make класса, в который вставлена ​​зависимость Model.

Это следующий файл:

class AbstractAdapter {
     public function __construct(Model $model) {
         ....
     }
}

Затем у меня есть другой файл, который является преобразователем пространства имен, который выполняет следующее:

public function resolve($unit, $object): object {
    return $this->container->make($qualifiedName);
}

Затем у меня есть другой класс, который просто расширяет AbstractAdapter class.

namespace App\Adapters;

use Package\AbstractAdapter;

class FooAdapter extends AbstractAdapter {
    //
}

Однако, когда я вызываю этот класс, я получаю правильное квалифицированное имя для контейнера, поэтому в этом случае $qualifiedName будет равно App\Adapters\FooAdapter, но я продолжаю получать следующую проблему:

" Цель [Illuminate \ Database \ Eloquent \ Model] не создается при сборке [App \ Adapters \ FooAdapter]. "

У меня сложилось впечатление, что при использовании контейнера Io C он способен разрешить класс, а затем ввести зависимости.

Однако, похоже, это проблема только после обновления до Laravel 7, поэтому я не знаю, имеет ли это какое-либо отношение к нему, и он больше не может связывать модель?

...