Hi all,

I am working on a project for a client and had a programmer create the
app. Funding is out so I am taking over the project myself and have
little/no knowledge of cakePHP (I have used codeIgniter instead).  I
am having problems getting a multiple select to work. Can someone
help?

The multiple select shows up on the page as directed and populates the
selects correctly, BUT everything is automatically selected and when I
submit the form (on and edit page) it does't record anything in the
Database!  Since I coded all this part, I am sure I have missed
something or did something wrong.

Here is my setup:

I have 3 tables
offers table
fundraiser table (each offer can have multiple fundraisers it donates
too when the offer is purchased, and each cause can be attached to
multiple offers)
offers_fundraiser table (a bridge table that connects the two)

Controller
[Offer]
function edit($id = null)
    {
......
$fundraisers = $this->Fundraiser->find('list', array(
            'order' => array(
                'Fundraiser.name' => 'asc'
            )
        ));
        $selected = array_keys($fundraisers);
        $this->set('options', $fundraisers);
        $this->set('selected', $selected);
        $this->set('offer', $offer);

}

[edit.ctp view]
...
 echo $form->input('fundraiser_id', array('label' =>
__l('Fundraisers'),'empty' => 'Please
Select','multiple'=>'multiple','options' => $options, 'selected' =>
$selected)); ?>
...

3 models
[Offers model]
class Offers extends AppModel
{
    var $name = 'Offers';
    var $displayField = 'name';
    var $actsAs = array(
        'Sluggable' => array(
            'label' => array(
                'name'
            )
        ) ,
    );
var $hasAndBelongsToMany = array(
        'Fundraiser' => array(
            'className' => 'Fundraiser',
            'joinTable' => 'offer_fundraiser',
            'foreignKey' => 'offer_id',
            'associationForeignKey' => 'fundraiser_id',
            'unique' => true,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'finderQuery' => '',
            'deleteQuery' => '',
            'insertQuery' => ''
        )
    );
......
......
......
[fundraiser model]
class Fundraiser extends AppModel
{
    var $name = 'Fundraiser';
    var $displayField = 'name';
    var $actsAs = array(
        'Sluggable' => array(
            'label' => array(
                'name'
            )
        ) ,
    );
var $hasAndBelongsToMany = array(
        'Offer' => array(
            'className' => 'Offer',
            'joinTable' => 'offer_fundraiser',
            'foreignKey' => 'fundraiser_id',
            'associationForeignKey' => 'offer_id',
            'unique' => true,
            'conditions' => '',
            'fields' => '',
            'order' => '',
            'limit' => '',
            'offset' => '',
            'finderQuery' => '',
            'deleteQuery' => '',
            'insertQuery' => ''
        )
    );
......
......
......

[Offer_Fundraiser Model]
class OfferFundraiser extends AppModel
{
    var $name = 'OfferFundraiser';
    //The Associations below have been created with all possible keys,
those that are not needed can be removed
    var $belongsTo = array(
        'Offer' => array(
            'className' => 'Offer',
            'foreignKey' => 'offer_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
        ) ,
        'Fundraiser' => array(
            'className' => 'Fundraiser',
            'foreignKey' => 'fundraiser_id',
            'conditions' => '',
            'fields' => '',
            'order' => '',
        )
    );
.......
.......
.......

-- 
Our newest site for the community: CakePHP Video Tutorials 
http://tv.cakephp.org 
Check out the new CakePHP Questions site http://ask.cakephp.org and help others 
with their CakePHP related questions.


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

Reply via email to