क्या एकाधिक इकाई प्रबंधकों पर लक्षित इकाई को हल करना संभव है?एकाधिक इकाई प्रबंधकों के साथ लक्ष्य इकाई को हल करें
/**
*
* @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...
और एक वर्ग के उपयोगकर्ता (अपने मुख्य आवेदन में):
/**
* @ORM\Entity
*
* @ORM\Table(name="my_financial_user")
*
*/
class User extends BaseUser
{
/**
* @ORM\OneToOne(targetEntity="My\FinancialBundle\Model\PersonInterface")
* @var PersonInterface
*/
protected $person;
असल में मैं जोड़ी उपयोगकर्ता करना चाहते
मैं एक वर्ग व्यक्ति (एक फिर से प्रयोग करने योग्य बंडल में) है पुनः उपयोग करने योग्य बंडल से एक व्यक्ति को।
मैं सिद्धांत के विन्यास जो मैंने सोचा था कि यह मुझे यह करने के लिए अनुमति देता है में स्थापित किया था संकल्प लक्ष्य इकाई विकल्प:
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: ~
इसके अलावा, मुख्य बंडल में उपयोगकर्ता वर्ग, विक्रेता बंडल में एक आधार के उपयोगकर्ता फैली हुई है। पाठ्यक्रम के उपयोगकर्ता वर्ग को मुख्य अनुप्रयोग डीबी में बनाए रखा जाता है।
इस कॉन्फ़िगरेशन के साथ यह मुझे एक त्रुटि देता है।
[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
क्या कोई इसे हल करने के बारे में जानता है?
इन संबंधित प्रश्नों को देखें: http://stackoverflow.com/questions/14403863/entities-associations-across-different-managers और http://stackoverflow.com/questions/9330018/issues-in-entities-from- विभिन्न-बंडल-उपयोग-अलग-इकाई-प्रबंधक – takeit
नहीं। इकाई प्रबंधक एक-दूसरे से बात नहीं करते हैं। आपको एक ही इकाई प्रबंधक में सभी आवश्यक इकाइयों को शामिल करने का एक तरीका ढूंढना होगा। – Cerad
दुर्भाग्यपूर्ण है। मुझे लगता है कि यह वैध उपयोगकर्ता मामला है, उम्मीद है कि भविष्य में समर्थन होगा .. आपकी टिप्पणी के लिए धन्यवाद।अभी के लिए मैं क्या करूँगा गतिशील रूप से उपयोगकर्ता को उस नियंत्रक में उपयोगकर्ता को असाइन करें जहां इसकी आवश्यकता है ($ उपयोगकर्ता = $ यह-> getUser(); $ उपयोगकर्ता-> व्यक्ति = $ व्यक्ति) – apfz