2013-03-05 6 views
1

Я реализую несколько концепций db в symfony 2.0. Теперь мне нужно, чтобы диспетчер сущности был динамически в файле myservice.php в концепции инъекции зависимости. Как я могу назвать этого менеджера сущностей?Динамический db в зависимости от инъекции

services.xml:

 <container xmlns="http://symfony.com/schema/dic/services" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation="http://symfony.com/schema/dic/services         http://symfony.com  /schema/dic/services/services-1.0.xsd"> 

<services> 
    <service id="my_service" class="Traxcrm\SalesBundle\Services\MyService"> 
     <argument type="service" id="doctrine" /> 
    </service> 
</services> 

</container> 

mysevice.php

class MyService { 

private $doctrine; 

public function __construct(Doctrine\Bundle\DoctrineBundle\Registry $doctrine) 
{ 

    $this->doctrine = $doctrine;    

} 
class MyService { 

private $doctrine; 

public function __construct(Doctrine\Bundle\DoctrineBundle\Registry $doctrine) { 

    $this->doctrine = $doctrine; 
} 

public function getUserDetails($id) { 

    $query = $this->doctrine->getEntityManager('Test')->createQuery("SELECT  p   FROM  TraxcrmSigninBundle:Tblallusers p where p.id=$id"); 
    $userDetails = $query->getArrayResult(); 

    return $userDetails; 
} 

ответ

0

Настройка сервис и ввести доктрину:

Service Definition (services.yml или config.yml):

services: 
    service_name: 
     class: <namespace>myservice.php 
     arguments: ['@doctrine'] 

или XML:

<services> 
    <service id="service_name" class="<namespace>myservice.php"> 
     <argument type="service" id="doctrine"/> 
    </service> 
</services> 

затем настроить ваш класс, чтобы принять объект учения прошел

public class myservice { 

    private $doctrine; 

    public function __construct(Doctrine\Bundle\DoctrineBundle\Registry $doctrine) { 
     $this->doctrine = $doctrine; 
    } 

    public function aFunction() { 
     $em = $this->doctrine->getEntityManager('<name>')...... 
    } 
} 
+0

Я использую файл services.xml не services.yml – Niju

+0

@ user1650898 я обновил свой ответ - но я предлагаю вы читаете [это] (http://symfony.com/doc/current/book/service_container.html) для получения дополнительной информации об использовании контейнера услуг – ManseUK

+0

извините ..... Спасибо, теперь только посмотрите на это решение. Я пытаюсь этот метод – Niju

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