dongzhun8449 2016-08-07 20:56
浏览 16

JMSDIExtraBundle将存储库声明为服务

I wanted to use solution which was described in this answer but it doesn't work. Symfony2/JmsDIExtraBundle Injecting repository into service using annotations

I am using symfony 3 and my use case you can find below:

namespace AppBundle\Repository;

use JMS\DiExtraBundle\Annotation as DI;
use UserBundle\Repository\UserRepository as BaseUserRepository;

    /**
     * @DI\Service("user_repository", factoryService = "doctrine", factoryMethod="getRepository", factoryMethodArguments={
     * "persistentObjectName" = "AppBundle\Model\User"
     * } )
     */
    class UserRepository extends BaseUserRepository
    {

    }

Base class:

namespace UserBundle\Repository;

use Doctrine\ODM\MongoDB\DocumentRepository;
use UserBundle\Model\User;

abstract class UserRepository extends DocumentRepository
{
    public function save(User $user)
    {
        $dm = $this->getDocumentManager();
        $dm->persist($user);
        $dm->flush($user);
    }
}

And the command where I want to use UserRepository

class CreateAdminCommand extends BaseCreateAdminCommand
{    

    protected function execute(InputInterface $input, OutputInterface $output)
    {
        $this->userRepository = $this->getContainer()->get('user_repository');
    }
}

Next, when I want to execute my command I am getting this error:

[Doctrine\Common\Annotations\AnnotationException] [Creation Error] The annotation @DI\Service declared on class AppBundle\Repository\UserRepository does not have a property named "factoryService". Available properties: id, parent, public, scope, shared, deprecated, decorates, decoration_inner_name, abstract, environments

I agree with this error because I cannot find such property in Service annotation. So in my opinion it shouldn't work but it was described on another question and github as correct solution. I don't understand something here, could you help me Guys?

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥60 求一个简单的网页(标签-安全|关键词-上传)
    • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
    • ¥15 基于卷积神经网络的声纹识别
    • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
    • ¥100 为什么这个恒流源电路不能恒流?
    • ¥15 有偿求跨组件数据流路径图
    • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
    • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
    • ¥15 CSAPPattacklab
    • ¥15 一直显示正在等待HID—ISP