实例未创建空间角色和权限



我创建了一个提供者并链接了存储库,但我得到了错误:

异常:"Illuminate\Contracts\Container\BindingResolutionException";文件:"vendor/laravel/framework/src/Ilightaine/Container.php";线路:1038消息:";在构建[App\Http\Controllers\Api\V1\User\RoleController,App\Repository\Model\RoleRepository]时,目标[IIlluminate\Database\Eloquent\Model]不可实例化"跟踪:[,…]

命名空间:SpatiePermissionModelsRole;SpatiePermissionModelsPermission;

存储库服务提供商:

class RepositoryServiceProvider extends ServiceProvider
{
// ...
$this->app->bind(ModelRepositoryInterface::class, function() {
return new PermissionRepository(new Permission);
});

// ...
}

调试期间,安装了dd(new Role)。得到了这个错误:

"对null上的成员函数connection((的调用";

问题出在哪里?

因为我使用相同的接口,但使用不同的类(控制器(,所以它们需要像这样绑定:

$this->app->when(RoleController::class)
->needs(ModelRepositoryInterface::class)
->give(function () {
return new RoleRepository(new Role);
});
$this->app->when(PermissionController::class)
->needs(ModelRepositoryInterface::class)
->give(function () {
return new PermissionRepository(new Permission);
});

请参阅文档。

相关内容

  • 没有找到相关文章

最新更新