2015-09-07 2 views
1

У меня есть службы Symfony я хочу передать Учение \ DBAL \ Заявление в качестве аргумента , но это не работает у меня есть это в моей конфигурациипрохождение Doctrine DBAL Заявление в качестве аргумента для обслуживания

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

я получение Услуга «topic_repo» имеет зависимость от несуществующей службы

+0

Поскольку нет Doctrine.debal.statement тега сервиса и его DBAL не Debal и почему вам нужна база данных соединение в репозитории, вы можете сделать простое использование в репозитории, а не –

+0

Я знаю, что нет службы bdal, поэтому я спрашиваю, есть ли способ передать утверждение изначально в symfony или мне нужно будет создать его собственный сервис, как я сказал, что это услуга, а не репо – strawberry

ответ

0

я решил эту проблему, определив о качестве сервиса затем передать его на мой topicRepo службу

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

Репозиторий не должен зависеть от службы (вы хотите, чтобы вещи были разделены). Что вы можете сделать, это создать BaseRepository или нечто подобное, которое содержит любые стандартные функции репозитория, которые могут вам понадобиться, и из которых затем расширяется ваш репозиторий.

+0

, это не репозиторий, связанный с сущностью, это сервис. Я не хочу использовать репозиторий. – strawberry

+0

так ApiBundle \ Repository \ TopicRepository не репозиторий? – LBA

+0

нет, это сервис. может быть запутанным, но мне просто не нужно было использовать orm, забудьте имя, предположим, что у нас есть служба, которая хочет передать утверждение в качестве аргумента, как это будет? – strawberry

Смежные вопросы