How to inject a repository into a service in Symfony?

前端 未结 5 1638
佛祖请我去吃肉
佛祖请我去吃肉 2020-11-30 21:39

I need to inject two objects into ImageService. One of them is an instance of Repository/ImageRepository, which I get like this:

$         


        
5条回答
  •  青春惊慌失措
    2020-11-30 22:15

    I found this link and this worked for me:

    parameters:
        image_repository.class:            Mycompany\MainBundle\Repository\ImageRepository
        image_repository.factory_argument: 'MycompanyMainBundle:Image'
        image_manager.class:               Mycompany\MainBundle\Service\Image\ImageManager
        image_manipulator.class:           Mycompany\MainBundle\Service\Image\ImageManipulator
    
    services:
        image_manager:
            class: %image_manager.class%
            arguments:
              - @image_manipulator
              - @image_repository
    
        image_repository:
            class:           %image_repository.class%
            factory_service: doctrine.odm.mongodb
            factory_method:  getRepository
            arguments:
                - %image_repository.factory_argument%
    
        image_manipulator:
            class: %image_manipulator.class%
    

提交回复
热议问题