title: CakePHP SaveAssociated / SaveAll ignoring fields
body: <p>I am having an issue where CakePHP is ignoring saving a field I specify and instead creating extra records. I am using CakePHP 2.3.6.</p>
  
  <p>My table looks like this:</p>
  
  <pre><code>CREATE TABLE `events_guests` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `guest_id` int(11) NOT NULL,
    `event_id` int(11) NOT NULL,
    `promoter_id` int(11) DEFAULT NULL,
    `created` datetime NOT NULL,
    `modified` datetime NOT NULL,
    `attended` varchar(15) NOT NULL DEFAULT 'No',
    PRIMARY KEY (`id`)
  )
  </code></pre>
  
  <p>Heres the code</p>
  
  <pre><code>public function addGuest($event_id, $promoter_id = null) {
  if ($this-&gt;request-&gt;is('post')) {
                  $this-&gt;Guest-&gt;create();
                  $event_data = array('event_id' =&gt; $event_id);
                  $data = $this-&gt;request-&gt;data;
                  $data['Event'] = $event_data;
                  if($promoter_id) {
                      $data['Event']['promoter_id'] = $promoter_id;
                  }
                  if ($this-&gt;Guest-&gt;saveAssociated($data)) {
                      $this-&gt;Session-&gt;setFlash(__('The guest has been added to the guestlist'), 'flash/success');
                  } else {
                  $this-&gt;Session-&gt;setFlash(__('The guest could not be saved. Please, try again.'), 'flash/error');
                  }
  </code></pre>
  
  <p>Here is my data that I am trying to save:</p>
  
  <pre><code>Array (
    [Guest] =&gt; Array
      (
        [first_name] =&gt; Joe
        [last_name] =&gt; Schmoe
      )
    [Event] =&gt; Array
      (
         [event_id] =&gt; 1
         [promoter_id] =&gt; 2
      )
  )
  </code></pre>
  
  <p>My Models follow:</p>
  
  <pre><code>class Guest extends AppModel {
  public $hasAndBelongsToMany = array(
          'Event' =&gt; array(
              'className' =&gt; 'Event',
              'joinTable' =&gt; 'events_guests',
              'foreignKey' =&gt; 'guest_id',
              'associationForeignKey' =&gt; 'event_id',
              'unique' =&gt; 'true',
          ), 
          'Promoter' =&gt; array(
              'className' =&gt; 'Promoter',
              'joinTable' =&gt; 'events_guests',
              'foreignKey' =&gt; 'guest_id',
              'associationForeignKey' =&gt; 'promoter_id',
              'unique' =&gt; 'true',
          )
      );
  }
  </code></pre>
  
  <p>And</p>
  
  <pre><code>class Event extends AppModel {
  public $hasAndBelongsToMany = array(
          'Guest' =&gt; array(
              'className' =&gt; 'Guest',
              'joinTable' =&gt; 'events_guests',
              'foreignKey' =&gt; 'event_id',
              'associationForeignKey' =&gt; 'guest_id',
              'unique' =&gt; 'keepExisting',
              'order' =&gt; 'last_name',
          ),
          'Promoter' =&gt; array(
              'className' =&gt; 'Promoter',
              'joinTable' =&gt; 'events_promoters',
              'foreignKey' =&gt; 'event_id',
              'associationForeignKey' =&gt; 'promoter_id',
              'unique' =&gt; 'keepExisting',
          )
      );
  }
  </code></pre>
  
  <p>The results from this are 2 records for EventsGuests, neither with a <code>promoter_id</code>.</p>
  
  <p>One record receives <code>event_id = 1</code> AS EXPECTED</p>
  
  <p>Other record receives <code>event_id = 2</code>, which is actually the <code>promoter_id</code></p>
  
  <p>I have tried using a mix of <code>saveAssociated</code> and <code>saveAll</code></p>
  
  <p>Any help is greatly appreciated! Thank you!</p>