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

Reply via email to