2012-03-05 21 views
11

मुझे एक साधारण एक से कई संबंध मिल गए हैं जो संग्रह के माध्यम से पुन: प्रयास करने की कोशिश करते समय त्रुटियों से बाहर निकलते हैं।सिद्धांत के साथ सिम्फनी 2 में एक-से-कई संबंधों तक पहुंचने में त्रुटि

'द वन' User.php

/** 
    * @ORM\OneToMany(targetEntity="UserMeasurement", mappedBy="measurements") 
    */ 
    protected $measurements; 

और इसी "कई" UserMeasurement.php से

:

/** 
    * @ORM\ManyToOne(targetEntity="User", inversedBy="measurements", cascade={"persist"}) 
    * @ORM\JoinColumn(name="user_id", referencedColumnName="id") 
    */ 
    protected $user; 

और अभी तक जब मैं एक आदेश से चलाने का प्रयास:

$query = $em->createQuery(" SELECT user FROM AcmeFooBundle:User user"); 
    $users = $query->getResult(); 
    foreach ($users as $user) { 
     print count($user->getMeasurements()->toArray()); 
    } 

मुझे निम्न त्रुटि मिलती है:

[ErrorException]
Notice: Undefined index: measurements in /Applications/MAMP/htdocs/Symfony/vendor/doctrine/lib/Doctrine/ORM/Persisters/BasicEntityPersister.php line 1280

मैंने doctrine:schema:update --force आदेश चलाया है और यह कहता है कि मैं सिंक में हूं।

क्या मैं गलत तरीके से पुन: प्रयास कर रहा हूं?

@ORM\OneToMany(targetEntity="UserMeasurement", mappedBy="measurements") 

क्या आप सिद्धांत कह रहे हैं कि यह measurements नाम के एक क्षेत्र है, जो मौजूद नहीं है के लिए UserMeasurement इकाई में दिखना चाहिए है:

उत्तर

17

अपने प्रयोक्ता इकाई में, आप इस रेखा है। आप शायद क्या इरादा रखते थे:

@ORM\OneToMany(targetEntity="UserMeasurement", mappedBy="user") 
संबंधित मुद्दे