Я пишу такой класс:
class SERVICE
{
public function __construct($a, UserRepository $repository) {
$this->repository = $repository; $this->relations = [
[
'\Api\Users\Models\Client', 'clients', '$a'
]
];
$this->events = [ ];
}
...
}
и я использовал этот класс вот так:
use SERVICE;
class TEST
{
public function __construct(SERVICE $service)
{
$this->service = $service;
}
}
и у меня есть ошибка:
Unresolvable dependency resolving [Parameter #0 [ $a ]]
как я могу отправить параметр таким образом?






Laravel может автоматически вводить только https://laravel.com/docs/5.5/container#automatic-injection. Для вашего случая в сервисе есть параметр $a, тип которого не определен. Вы должны быть изменены либо вашей службой __construct, либо классом Test. Например
use SERVICE;
class TEST
{
public function __construct(UserRepository $repository) {
$this->service = new Service('some-value', $repository);
}
}
Или смените услугу вот так
class SERVICE
{
public function __construct(UserRepository $repository) {
$this->repository = $repository;
$this->events = [ ];
}
public function setRelations($a)
{
$this->relations = [
[
'\Api\Users\Models\Client', 'clients', '$a'
]
];
}
...
}
И использование
use SERVICE;
class TEST
{
public function __construct(SERVICE $service)
{
$this->service = $service;
$this->service->setRelations('some-value');
}
}
В вашем сервисе нет подсказки типа для $ a.