Я использую шаблон репозитория в laravel для извлечения записей из таблицы, но получаю сообщение об ошибке, например
"Target [App \ Repositories \ ThirdPartyRepository] не может быть создан при создании [App \ Http \ Контроллеры \ Dashboardcontroller]. "
Это следующая структура, которая у меня есть
app ->
Repositories
->Thirdpartyrepository.php
-> Thirdpartyrepositoryinterface.php
-> ThirdpartyServiceProvider.php
Thirdpartyrepositoryinterface. php
namespace App\Repositories;
interface ThirdpartyRepositoryInterface
{
public function getAll();
}
Thirdpartyrepository. php
namespace App\Repositories;
abstract class ThirdPartyRepository implements ThirdpartyRepositoryInterface
{
public function getAll(){
$getcmp= DB::table('xyz')
->orderBy('id', 'desc')
->select('name', 'id', 'created_at')
->get();
return $getcmp;
}
}
ThirdpartyServiceProvider. php
namespace App\Repositories;
use Illuminate\Support\ServiceProvider;
class ThirdpartyServiceProvider extends ServiceProvider
{
public function register(){
$this->app->bind(
'App\Repositories\ThirdpartyRepositoryInterface',
'App\Repositories\ThirdPartyRepository'
);
}
}
Контроллер приборной панели. php
use App\Repositories\ThirdPartyRepository;
protected $thirdparty;
public function __construct(ThirdPartyRepository $thirdparty){
$this->thirdparty= $thirdparty;
}
public function getproducts(){
$getCompanies=$this->thirdparty->getAll();
dd ($getCompanies);
}