2013-08-03 12 views
0

사용자가 등록 할 수있는 사이트를 만들고 싶습니다. 사용자 관리를 위해 나는 FOSUserbundle을 사용합니다. 이제 다른 번들보다 FOSUserBundle에 다른 db 연결을 사용하려고합니다. 내가 페이지를로드하려고 할 때 오류 MappingException: The class 'MyProject\UserBundle\Entity\User' was not found in the chain configured namespaces MyProject\MainBundle\Entity, FOS\UserBundle\Model를 얻을 수Symfony 2 다른 번들과 다른 DB 연결을 사용하는 FOSUserBundle

doctrine: 
    dbal: 
     default_connection: default 
     connections: 
      default: 
       driver: "%database1_driver%" 
       host:  "%database1_host%" 
       port:  "%database1_port%" 
       dbname: "§database1_name%" 
       user:  "%database1_user%" 
       password: "%database1_password%" 
       charset: UTF8 

      user: 
       driver: "%database2_driver%" 
       host:  "%database2_host%" 
       port:  "%database2_port%" 
       dbname: "%database2_name%" 
       user:  "%database2_user%" 
       password: "%database2_password%" 
       charset: UTF8 

orm: 
    default_entity_manager: default 
    entity_managers: 
     default: 
      connection:  default 
      mappings: 
       MyProjectMainBundle: ~ 
     user: 
      connection:  user 
      mappings: 
       MyProjectUserBundle: ~ 

:처럼 내 config.yml 파일을 찾습니다.

내가 정확히 FOSUserBundle에 대한 설명서를 따라 난 config.yml에서

auto_generate_proxy_classes: %kernel.debug% 
auto_mapping: true 

를 사용하는 경우가 노력하고 있습니다. 유일한 것은 문서에서 새 엔티티에 정의 된 테이블 만 생성한다는 것입니다. id 필드 만 생성되고 fos_user 테이블 전체가 생성되지는 않습니다.

이전에 물어 본 비슷한 질문이 있지만 모든 솔루션을 사용해 보았지만 작동하지 않았습니다. 어떻게 해결할 수 있습니까? 심지어 가능할까요? 내 프로젝트는 많은 테이블을 사용할 것이고 너무 복잡해지기를 원치 않기 때문에 별도의 데이터베이스를 사용해야한다.

답변

7
user: 
     connection:  user 
     mappings: 
      FOSUserBundle: ~ 
      MyProjectUserBundle: ~ 

엔티티 오류

없애 그리고 당신은 config.ym에서 설정 한 model_manager_name이 있는지 확인하기 위해 매핑에 FOSUserBundle를 추가 할 필요가;

fos_user: 
    db_driver:  orm 
    firewall_name: main 
    user_class: Cerad\Bundle\AccountBundle\Entity\AccountUser 
    model_manager_name: user 
+0

완벽한 작품! 고마워요 :) – Kable

+0

고맙습니다! :) –

0
fos_user: 
    db_driver:  orm 
    firewall_name: main 
    user_class: Cerad\Bundle\AccountBundle\Entity\AccountUser 
    model_manager_name: user 
+0

[so]에 오신 것을 환영합니다! 코드 나 마크 업이 포함 된 질문에 답할 때는 대답 상자 위의 "{}"아이콘을 사용하여 텍스트 블록의 형식을 지정하십시오. –