The way I've worked around it for the moment is to add the following
to the add function in the controller:
if( !is_array($this->data['Person']['Person']) ) {
$this->data['Person']['Person'] = aa(0,
$this->data['Person']
['Person']);
}
It's not pretty, I know.
On May 23, 3:18 pm, simon <[EMAIL PROTECTED]> wrote:
> Hi,
>
> Oddly enough Cake doesn't seem to understand that it should make an
> entry in the join table for HABTM related models when the foreign key
> isn't supplied from a multi select field...
> Let me try and explain that :)
>
> Say you are creating a new Item which belongs to one or many Persons,
> you will need a select tag with the name "Person/Person". However it
> seems this needs to be a select tag with multiple selection enabled.
> This is so that the form generates the following:
>
> Array
> (
> [Item] => Array
> (
> [field] => Value
> )
> [Person] => Array
> (
> [Person] => Array
> (
> [0] => 1
> )
> )
> )
>
> In other words you can't use a normal select tag, as this will
> generate:
> [Person] => Array
> (
> [Person] => 1
> )
>
> As the value of person isn't an array here, Cake won't pick it up and
> won't make an entry in the join table.
>
> I haven't found a solution for this yet, I'm assuming that I'm either
> missing something or that I'm going to have to do some ugly hack in
> the controller's add/edit functions to turn the value into an array.
>
> Simon
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Cake
PHP" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/cake-php?hl=en
-~----------~----~----~----~------~----~------~--~---