Hello,

I'm using Doctrine v2.4.6 (with Symphony, if that matters) for a kind of 
complex project. The issue I'm having is when running an importer (that 
handles up to 200k rows per file, multiple files). My entities are 
something like this:

Person
- id
- name

Address
- idaddress
- person (many-to-one Person)
- type (many-to-one Type)
- Address

Phone
- idphone
- person (many-to-one Person)
- type (many-to-one Type)
- phone

Type
- idtype
- description

(Entities are mapped with XML)

So, the importer process reads one file at a time (each file contains one 
kind of entity, like Person.csv, Address.csv, etc) and creates entities, 
that are then stored in APCCache. So far there's no access to DB. 
The second step is to process those entities in the right order (first 
Person, then Address, then Phone, etc). In this process, I check the DB to 
see if it's an update or an insert. After that, I check that all relations 
are contained by the EntityManager (since they were cached in APC, 
relations such as Type might get detached and Doctrine tries to insert 
them). Then I persist the object, and finally I flush the object, i.e. 
$om->flush($object).

99% of the time this works, but with random Phones it throws this error:
Notice: Undefined index: id in 
Doctrine/ORM/Persisters/BasicEntityPersister.php line 685.

The error rises when Doctrine tries to find the association info for the 
object Person. Digging in the UnitOfWork, I noticed that the contents of 
$uow->entityIdentifiers[spl_object_hash($person)] contains the association 
information of Type instead of Person.

I really don't know what I can be doing wrong here. Specially since it 
works most of the times, and the offending Entity varies from run to run.

What should I look for? 

Thanks!

-- 
You received this message because you are subscribed to the Google Groups 
"doctrine-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/doctrine-user.
For more options, visit https://groups.google.com/d/optout.

Reply via email to