2016-04-06 4 views
1

私はSymfony 2.7を使用しています。私はHow to Work with multiple Entity Managers and ConnectionsについてのSymfony2に関する文書に従った。私はこのサイトのすべてのソリューションを試しましたが、成功しませんでした。私はいつも同じエラーを持っている:Symfony2エンティティ間の関係クロスバンドルと複数のエンティティマネージャ

[教義\共通\永続\マッピング\ MappingException]クラス 「スポット\ OfferBundle \エンティティ\オファー」はチェーンで見つかりませんでしたが 名前空間ダッシュボード\ ProjectBundle \エンティティを構成し

私のプロジェクトでは、2つのバンドルがあります。すべてのバンドルは、異なるエンティティマネージャと連携して動作します。ここに私の設定ファイル:

# Doctrine Configuration 
doctrine: 
dbal: 
    default_connection:  default 
    connections: 
     default: 
      driver: %database2_driver% 
      host:  %database2_host% 
      port:  %database2_port% 
      dbname: %database2_name% 
      user:  %database2_user% 
      password: %database2_password% 
      charset: UTF8 
     spot: 
      driver: %database3_driver% 
      host:  %database3_host% 
      port:  %database3_port% 
      dbname: %database3_name% 
      user:  %database3_user% 
      password: %database3_password% 
      charset: UTF8 
orm: 
    auto_generate_proxy_classes: %kernel.debug% 
    default_entity_manager: default 
    entity_managers: 
     default: 
      connection:  default 
      mappings: 
       DashboardProjectBundle: ~ 
     spot: 
      connection:  spot 
      mappings: 
       SpotOfferBundle: ~ 

私はバンドル
間の関係を持つ2つのエンティティ最初の持っている:

namespace Dashboard\ProjectBundle\Entity; 
use Doctrine\ORM\Mapping as ORM; 

/** 
* Project 
* 
* @ORM\Table(name="project") 
* @ORM\Entity 
*/ 
class Project 
{ 
    /** 
    * @var Spot\OfferBundle\Entity\Offer 
    * 
    * @ORM\ManyToOne(targetEntity="Spot\OfferBundle\Entity\Offer", inversedBy="projects") 
    * @ORM\JoinColumns({ 
    * @ORM\JoinColumn(name="offer_id", referencedColumnName="id") 
    * }) 
    */ 
    private $offer; 

そして第二に:私は使用文で試す

namespace Spot\OfferBundle\Entity; 
use Doctrine\ORM\Mapping as ORM; 

/** 
    * Offer 
    * 
    * @ORM\Table(name="offer") 
    * @ORM\Entity(repositoryClass="Spot\OfferBundle\Entity\OfferRepository") 
    */ 
class Offer { 
     /** 
     * 
     * @ORM\OneToMany(targetEntity="Dashboard\ProjectBundle\Entity\Project", mappedBy="offer") 
     */ 
     private $projects; 

を、私はAppKernelとBundlesが定義されていることを確認します。私は先頭のバックスラッシュで試してみます。しかしnothig作品。

+0

チェック[この](https://techpunch.co.uk/development/using-multiple-databases-with-symfony2-and-doctrine2)記事 – Matteo

答えて

-1

あなたが設定ファイルでこれが設定されていることを確認してください:

assetic: 
    ... 
    bundles:  [ DashboardProjectBundle, SportOfferBundle] 

UPDATE:

また、このようにORMの設定を設定しよう:

orm: 
auto_generate_proxy_classes: %kernel.debug% 
default_entity_manager: default 
entity_managers: 
    default: 
     connection:  default 
     mappings: 
      DashboardProjectBundle: ~ 
      SpotOfferBundle: ~ 
    spot: 
     connection:  spot 
     mappings: 
      SpotOfferBundle: ~ 
+0

assetic構成はDoctrineマップに影響しますかping? –

+0

私は本当に知らないが、彼はそれを試すことができます。 –

関連する問題