Bir hedef öğeyi birden çok varlık yöneticisi üzerinden çözümlemek mümkün müdür?Hedef Varlığı Birden Çok Varlık Yöneticisi ile Çözümleme
/**
*
* @ORM\Entity
* @ORM\Table(name="my_vendor_person")
*/
class Person
{
/**
* Unique Id
*
* @var integer $id
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* First Name
*
* @var string $name
*
* @ORM\Column(name="first_name", type="string", length=32)
*/
protected $firstName;
// etc...
Ve (benim ana uygulamasında) bir sınıf kullanıcı:
/**
* @ORM\Entity
*
* @ORM\Table(name="my_financial_user")
*
*/
class User extends BaseUser
{
/**
* @ORM\OneToOne(targetEntity="My\FinancialBundle\Model\PersonInterface")
* @var PersonInterface
*/
protected $person;
Temelde çift kullanıcı istiyorum
Bir sınıf (yeniden kullanılabilir paket içinde) kişi var Yeniden kullanılabilir paketten bir kişiye.
doctrine:
orm:
auto_generate_proxy_classes: "%kernel.debug%"
default_entity_manager: default
resolve_target_entities:
My\FinanceBundle\Model\PersonInterface: My\VendorBundle\Entity\Person
entity_managers:
default:
naming_strategy: doctrine.orm.naming_strategy.underscore
connection: default
mappings:
MyFinanceBundle: ~
second:
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: false
connection: second
mappings:
MyVendorBundle: ~
MyVendorUserBundle: ~
Ayrıca ana paket içinde kullanıcı sınıfı, satıcı paket içinde bir baz kullanıcıyı uzatır: Ben o bana bunu sağlayan düşünce öğretinin yapılandırmasında çözülmesine hedef varlık seçeneği batmıştı
. Ana uygulamalarda db kullanıcı sınıfı korunur.
Bu yapılandırmada bana bir hata veriyor.
[Doctrine\Common\Persistence\Mapping\MappingException]
The class 'My\VendorBundle\Entity\Person' was not found in the chain configured namespaces My\FinanceBundle\Entity, FOS\UserBundle\Model
Bunu nasıl çözeceğini bilen var mı?
İlgili soruları görmek için: http://stackoverflow.com/questions/14403863/entities-associations-across-different-managers ve http://stackoverflow.com/questions/9330018/issues-in-entities-from- farklı-bundles-kullanarak-farklı-varlık-yöneticileri – takeit
Nope. Varlık yöneticileri birbirleriyle konuşmuyorlar. Tüm gerekli varlıkları tek bir varlık yöneticisine dahil etmenin bir yolunu bulmanız gerekecektir. – Cerad
bu talihsiz bir durumdur. Bence bu yasal bir kullanıcı vakası, gelecekte de umut desteği olacak. Hem yorumunuz için teşekkürler.Şimdilik yapacağım şey, kullanıcının gerekli olduğu yerde denetleyicilere kullanıcı tarafından dinamik olarak atanmasıdır ($ user = $ this-> getUser(); $ user-> kişi = $ kişi) – apfz