oh my goodness, you're right, it had to do with my placement of the print statement. it's in the controller but was above $this->data['Genre']['id'][] = 51; so now everything is working and the if statement is in place and working as well. thanks for all the help.
On Fri, Jan 23, 2009 at 12:28 PM, brian <bally.z...@gmail.com> wrote: > > Where's the pr() statement? In the controller? Did you try with > Debugger::log() immediately after adding the '51'? > > On Fri, Jan 23, 2009 at 3:22 PM, kai <k3ho...@gmail.com> wrote: > > > > well, i tried that too and writing just as you have it, without the > > conditional statement, does not seem to add the value 51 to the id > > array. I'm using pr($this->data); to see what's in the array. > > > > On Jan 23, 10:38 am, brian <bally.z...@gmail.com> wrote: > >> Sorry, I made a mistake. > >> > >> $this->data['Genre'][] = 51; > >> > >> should be > >> > >> $this->data['Genre']['id'][] = 51; > >> > >> You want to append '51' to the 'id' array, not the parent ('Genre'). > >> > >> How are you checking to see if the value was added? Try it like this > >> and log your data array. > >> > >> if (isset($this->data['Genre']['id']) && > >> is_array($this->data['Genre']['id']) && !in_array('51', > >> $this->data['Genre']['id'])) > >> { > >> $this->data['Genre']['id'][] = 51; > >> > >> } > >> > >> Debugger::log($this->data); > >> > >> On Fri, Jan 23, 2009 at 12:30 AM, kai <k3ho...@gmail.com> wrote: > >> > >> > Even if i use array_push($this->data['Genre']['id'], 51); without the > >> > conditional statement it still doesn't add 51 to the Genre id array. > >> > $this->data['Genre'][] = 51; doesn't work either. I've tried a few > >> > variations and can't get it to work. First I need to figure out how to > >> > add values to the $this->data array and then I can focus on the > >> > conditional statement. > >> > >> > On Jan 22, 5:42 pm, brian <bally.z...@gmail.com> wrote: > >> >> if (isset($this->data['Genre']['id']) && > >> >> is_array($this->data['Genre']['id']) && !in_array('51', > >> >> $this->data['Genre']['id'])) > >> >> { > >> >> $this->data['Genre'][] = 51; > >> >> // or, array_push($this->data['Genre'], 51); > >> > >> >> } > >> >> On Thu, Jan 22, 2009 at 8:28 PM, kai <k3ho...@gmail.com> wrote: > >> > >> >> > In $this->data: > >> >> > [Genre] => Array > >> >> > ( > >> >> > [id] => Array > >> >> > ( > >> >> > [0] => 2 > >> >> > [1] => 55 > >> >> > ) > >> > >> >> > ) > >> >> > In sql: > >> >> > WHERE `Genre_id` IN ('2', '55') > >> > >> >> > Yeah, I want to add to their selection, not override it. > >> > >> >> > On Jan 22, 5:21 pm, brian <bally.z...@gmail.com> wrote: > >> >> >> If a user "chooses a genre" what does the data look like? Before > your > >> >> >> code does anything. Is it well formed? > >> > >> >> >> If you want to set ['Genre']['id'] to some value, what does the > data > >> >> >> look like before that? It seems like you're trying to override the > >> >> >> user's selection, rather than add to it. Do you want to add ID=51 > *in > >> >> >> addition* to whatever genre ID the user passes? > >> > >> >> >> On Thu, Jan 22, 2009 at 8:09 PM, kai <k3ho...@gmail.com> wrote: > >> > >> >> >> > When a user submits a form I'm hoping to apply some logic to > their > >> >> >> > choice. The form takes user input and translates their selection > into > >> >> >> > conditions to use in a query. One part of the selection is the > choice > >> >> >> > to choose a genre. I'm hoping to say something like, if user > chooses > >> >> >> > one genre or more then also add 'this genre' to their query. I > tried > >> >> >> > something like: > >> > >> >> >> > if (!empty($this->data['Genre']['id']) and > count($this->data['Genre'] > >> >> >> > ['id']) > 0) { > >> >> >> > $this->data['Genre']['id'] = 51; > >> >> >> > } > >> > >> >> >> > but have found that $this->data['Genre']['id'] = 51; does > nothing. How > >> >> >> > can i force genre 51 to become part of the query if the user > chooses > >> >> >> > at least one genre? > > > > > > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---