Oops! I take that back. I just re-read the original post. On Fri, Aug 21, 2009 at 7:55 AM, brian<bally.z...@gmail.com> wrote: > I don't think albe is trying to update existing records, though. And, > anyway, with your example, $value1 is never assigned. > > On Fri, Aug 21, 2009 at 7:17 AM, delocalizer<conrad.leon...@hotmail.com> > wrote: >> >> updateAll is the way to go... >> eg. $this->Post->updateAll(array('options'=>value2),array('id <> >> '=>'$var)); >> reducing the number of transactions in this case from n(Posts) to just >> 2 - one for the matching record and one for all the rest. >> >> On Aug 21, 8:45 pm, brian <bally.z...@gmail.com> wrote: >>> Almost, but $value_2 will never be assigned. Perhaps the OP could shed >>> some light on the bigger picture as there may be a better way to >>> approach this. >>> >>> On Fri, Aug 21, 2009 at 5:07 AM, rich...@home<richardath...@gmail.com> >>> wrote: >>> >>> > You don't need the else branch in the 2nd example, its taken care of >>> > in the read: >>> >>> > // fetch back the record with an id of $var >>> > $post = $this->Post->read(null, $var); >>> >>> > // update the record >>> > $post['Post']['options'] = value1; >>> >>> > // save the record >>> > $this->Post->save($post); >>> >>> > In the first example, you fetch back a number of records and loop >>> > through them looking for one with an id of $var. It's quite likely >>> > that id will be unique (its should be a primary key) so there's no >>> > need for the loop. >>> >>> > On Aug 20, 5:21 pm, albe <radialremo...@gmail.com> wrote: >>> >> foreach($posts as $p) { >>> >>> >> if ($p['Post']['id'] == $var) { >>> >> $p['Post']['options'] = value1; >>> >> } else { >>> >> $p['Post']['options'] = value 2; >>> >> } >>> >> $this->Post->save($p); >>> >>> >> } >>> >>> >> This works! I just can't say how much I am grateful for your help! >>> >> However I still don't understand why my code was wrong... >>> >>> >> About your second way: >>> >>> >> $post = $this->Post->read(null, $var); >>> >> $post['Post']['options'] = value1; >>> >> $this->Post->save($post); >>> >>> >> If I use this, where shall i put the ELSE branch? >>> >>> >> On 20 Ago, 18:00, "rich...@home" <richardath...@gmail.com> wrote: >>> >>> >> > Shouldn't that be: >>> >>> >> > foreach($posts as $p) { >>> >>> >> > if ($p['Post']['id'] == $var) { >>> >> > $p['Post']['options'] = value1; >>> >> > } else { >>> >> > $p['Post']['options'] = value 2; >>> >> > } >>> >> > $this->Post->save($p); >>> >>> >> > } >>> >>> >> > also, if you are just matching against the id, you could just write it >>> >> > as: >>> >>> >> > $post = $this->Post->read(null, $var); >>> >> > $post['Post']['options'] = value1; >>> >> > $this->Post->save($post); >>> >>> >> > and forget about the loop >>> >>> >> > On Aug 20, 3:26 pm, AD7six <andydawso...@gmail.com> wrote: >>> >>> >> > > On 20 ago, 15:39, albe <radialremo...@gmail.com> wrote: >>> >>> >> > > > I have to make a foreach cycle to check every item of a certain >>> >> > > > group. >>> >> > > > For each and every item I've got to check a condition and make a >>> >> > > > data >>> >> > > > modification depending on this condition. >>> >> > > > My code is the following: >>> >>> >> > > > foreach($posts as $p) { >>> >>> >> > > > $this->Post->id = $p['Post']['id']; //consider the posts >>> >> > > > one >>> >> > > > by one >>> >>> >> > > > if ($this->Post->id == $var) { >>> >> > > > $this->data['Post']['options'] = value1; >>> >> > > > } else { >>> >> > > > $this->data['Post']['options'] = value 2; >>> >> > > > } >>> >>> >> > > > $this->Post->save($this->data); >>> >>> >> > > > } >>> >>> >> > > > Here is my problem: the modifications are performed correctly for >>> >> > > > the >>> >> > > > IF branch, but NEVER for the else branch. >>> >> > > > Do you know why this occurs? >>> >>> >> > > aliens? >> >> >> >
--~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "CakePHP" group. To post to this group, send email to cake-php@googlegroups.com To unsubscribe from this group, send email to cake-php+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en -~----------~----~----~----~------~----~------~--~---