将 Doctrine\DBAL\Statement 作为参数传递给服务

passing Doctrine\DBAL\Statement as argument to service

我有一个 symfony 服务,我想将 Doctrine\DBAL\Statement 作为参数传递 但它不起作用我在我的配置中有这个

topic_repo:
        class: ApiBundle\Repository\TopicRepository
        arguments:
              - '@database_connection'
              - '@Doctrine.debal.statement'

我正在获取服务 "topic_repo" 依赖于不存在的服务

存储库不应依赖于服务(您希望将它们分开)。 您可以做的是创建一个 BaseRepository 或类似的东西,它包含您可能需要的任何标准存储库功能,然后您的存储库将从中扩展。

我通过将语句定义为服务然后将其传递到我的 topicRepo 服务解决了这个问题

doctrine_statement:
     class: Doctrine\DBAL\Statement
     arguments:
           - 'sql'
           - '@database_connection'