首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >FOSUserbundle repositoryClass

FOSUserbundle repositoryClass
EN

Stack Overflow用户
提问于 2015-04-09 00:21:08
回答 1查看 107关注 0票数 0

我正在尝试为从FOSUserbundle实现BaseClass的User类添加存储库类

代码语言:javascript
复制
/**
 * @ORM\Table(name="mdm_user")
 * @ORM\Entity(repositoryClass="AuthBundle\Repository\UserRepository")
 */
class User extends BaseUser

/**
 * Class UserRepository
 * @package AuthBundle\Repository
 */
class UserRepository extends EntityRepository implements UserProviderInterface

但是当清除缓存时,我得到了错误:

代码语言:javascript
复制
[Symfony\Component\Debug\Exception\ContextErrorException]                                                                                                                        
Warning: Missing argument 1 for Doctrine\ORM\EntityRepository::__construct(), called in /.../app/cache/de_/ap_DevDebugProjectContainer.php on line 385 and defined

我正在尝试实现ApiKeyAuthenticator (from example in symfony documentation),但使用FOSUserBundle进行用户类管理和身份验证

更新

服务:

代码语言:javascript
复制
api_key_user_provider:
    class: AuthBundle\Repository\UserRepository

apikey_authenticator:
    class:     AuthBundle\Security\ApiKeyAuthenticator
    arguments: ["@api_key_user_provider"]
EN

回答 1

Stack Overflow用户

发布于 2015-04-10 12:58:26

注意构造函数需要两个参数:$em (EntityManager)和$class (ClassMetadata)。因此,如果您想要创建一个自定义规则存储库作为服务,您应该像这样声明:

代码语言:javascript
复制
services:
    acme_customer.customer_repository:
        class: Doctrine\ORM\EntityRepository
        factory_service: doctrine.orm.default_entity_manager
        factory_method: getRepository
        arguments:
            - Acme\CustomerBundle\Entity\Customer

有关更多信息,请查看此链接http://php-and-symfony.matthiasnoback.nl/2014/05/inject-a-repository-instead-of-an-entity-manager/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29520125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档