バンドル全体で 1 対多の関係を定義しようとすると、次のことが起こります。
クラス 'Mana\ClientBundle\Entity\Member' はチェーン構成された名前空間 Mana\SplitBundle\Entity で見つかりませんでした
更新 3:
私は今、関係が達成できるかできないかという相反する答えを見てきました. それが可能であると仮定すると (ここでスタックオーバーフローの他の人がそれを行ったように見えるため)、バンドルを AppKernel.php に登録し、エンティティに注釈を入力する以外に、どのような構成が必要ですか? resolve_target_entity_listener
違いはないように見えました。
更新 2:
さて、私はここで私の深みから抜け出していることを知っていますが、これは Client エンティティを表示しようとしてコードをステップ実行しているときに観察したことです。
プロファイラーのエラー メッセージ
Mana\SplitBundle\Entity\Client#members で指定されたターゲット エンティティ 'Mana\ClientBundle\Entity\Member' は不明であるか、エンティティではありません。
これは、SchemaValidator が true と評価されるために発生$cmf->isTransient($assoc['targetEntity'])
します。ここで、targetEntity は Member エンティティ内にあります。PHPdoc コメントは、このエンティティのメタデータが読み込まれていないことを示唆しています。これを正しく理解していれば、関係に関する注釈がロードされていないことを意味します。しかし、変数値を観察すると、注釈が読み取られたことが示唆されます。
痛いほど明白であるべき何かを完全に見逃していますか?それとも、左翼手で遠すぎますか?
更新 1:
doctrine:mapping:info
不正な FQCN を検出することを確認しました。データフィクスチャは正しいです。デフォルト接続と分割接続の両方に対するエンティティ マネージャとデータベース接続の使用は正しいです。エラーは持続し、Client エンティティで定義されたいずれかのリレーションシップ (OneToMany または ManyToOne) で発生する可能性があります。
config.yml:
doctrine:
dbal:
default_connection: default
connections:
default:
driver: "%database_driver%"
host: "%database_host%"
port: "%database_port%"
dbname: "%database_name%"
user: "%database_user%"
password: "%database_password%"
charset: UTF8
mapping_types:
enum: string
split:
driver: "%database_driver2%"
host: "%database_host2%"
port: "%database_port2%"
dbname: "%database_name2%"
user: "%database_user2%"
password: "%database_password2%"
charset: UTF8
mapping_types:
enum: string
entity_managers:
default:
connection: default
mappings:
ManaClientBundle: ~
split:
connection: split
mappings:
ManaSplitBundle: ~
クライアント エンティティ:
/**
* @ORM\OneToMany(targetEntity="Mana\ClientBundle\Entity\Member", mappedBy="client")
* @ORM\OrderBy({"dob" = "ASC"})
*/
protected $members;
メンバー エンティティ:
/**
* @ORM\ManyToOne(targetEntity="Mana\SplitBundle\Entity\Client",inversedBy="members",cascade={"remove", "persist"})
* @ORM\JoinColumn(name="cid", referencedColumnName="id")
*
*/
protected $client;
教義のマッピング:
$ php app/console doctrine:mapping:info
Found 12 mapped entities:
[OK] Mana\ClientBundle\Entity\Agency
[OK] Mana\ClientBundle\Entity\Center
[OK] Mana\ClientBundle\Entity\Contact
[OK] Mana\ClientBundle\Entity\Contactdesc
[OK] Mana\ClientBundle\Entity\Counties
[OK] Mana\ClientBundle\Entity\Ethnicity
[OK] Mana\ClientBundle\Entity\Incomehistory
[OK] Mana\ClientBundle\Entity\Incomesrc
[OK] Mana\ClientBundle\Entity\Member
[OK] Mana\ClientBundle\Entity\Note
[OK] Mana\ClientBundle\Entity\Referral
[OK] Mana\ClientBundle\Entity\User
$ php app/console doctrine:mapping:info --em=split
Found 1 mapped entities:
[OK] Mana\SplitBundle\Entity\Client