I tried this, but unfortunately to no avail. So basically I tried all ways 
of updating, but I only succeed to update the first object that is changed.

Op donderdag 23 oktober 2014 10:22:34 UTC+2 schreef Holtkamp:
>
> Small experiment, can you try to use $em->flush($genre); ? Experienced 
> some strange results with that lately ;)
> On Oct 23, 2014 8:31 AM, "Antenne" <[email protected] <javascript:>> 
> wrote:
>
>> So I called it both with and without the persist and still only the first 
>> object is updated. Could there be a reason why second time round it is not 
>> stored in the database?
>>
>> Op dinsdag 21 oktober 2014 23:03:30 UTC+2 schreef Jàπ (Jasper N. Brouwer):
>>>
>>> - Maybe just use simple variable assignment. 
>>>
>>> - If you want to persist an entity into the database, use 
>>> $em->persist(), not $em->merge(). 
>>>
>>> - You only have to call $em->persist() to _update_ an entity if you 
>>> changed the Change Tracking Policy to "Deferred Explicit". 
>>>
>>>     $position = 1; 
>>>
>>>     foreach (array_keys($genres) as $genreId) { 
>>>         $genre = $this->getRepository()->findOneById($genreId); 
>>>         $genre->setRanking($position); 
>>>         $this->getObjectManager()->persist($genre);  // only for 
>>> "Deferred Explicit" 
>>>
>>>         $position++; 
>>>     } 
>>>
>>> --   
>>> Jasper N. Brouwer 
>>> (@jaspernbrouwer) 
>>>
>>>
>>> On 21 October 2014 at 22:48:50, Antenne ([email protected]) wrote: 
>>> > I have the following code in a service: 
>>> >   
>>> > $position = 1; 
>>> >   
>>> > // Update all genres with new position 
>>> > foreach ($genres as $key => $value) 
>>> > { 
>>> > ${"genre" . $position} = 
>>> > $this->getRepository()->findOneById($key); 
>>> > ${"genre" . $position} ->setRanking($position); 
>>> > $this->getObjectManager()->merge(${"genre" . $position} ); 
>>> >   
>>> > ++$position; 
>>> > } 
>>> > $this->getObjectManager()->flush(); 
>>> >   
>>> >   
>>> > Every time I call it two need to be updated, however it only updates 
>>> the 
>>> > first, even though I pass the right arguments. 
>>> > What could I be doing wrong here? 
>>> >   
>>> > I thought it might have to do with the reference, so I dynamically 
>>> assignes 
>>> > variable names in order to prevent that isssue. 
>>> > But still the second object isn't updated. 
>>> >   
>>> > Could someone please give me an insight? 
>>> >   
>>> > 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] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at http://groups.google.com/group/doctrine-user.
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
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