title: saveAll() inserts new row instead of updating
body: <p>I'm trying to update a record with CakePHP SaveAll() method but however, it adds new row instead of updating it.</p>
  
  <p>My model are as follow: A Store hasOne Map</p>
  
  <pre><code>class Store extends AppModel {  
      var $name = 'Store';
  
      var $hasOne = array(
          'Map' =&gt; array(  
              'className' =&gt; 'Map',
              'foreignKey' =&gt; 'store_id',
              'dependent' =&gt; true,
              'exclusive' =&gt; true
          )
      );
  }
  </code></pre>
  
  <p>My edit form has a Store ID (hidden field) to tell CakePHP to update a particular record only.</p>
  
  <pre><code>&lt;?php echo $this-&gt;Form-&gt;input('Store.id'); ?&gt;
  &lt;?php echo $this-&gt;Form-&gt;input('Store.name', array('label' =&gt; 'Store name', 'required')); ?&gt;
  &lt;?php echo $this-&gt;Form-&gt;input('Map.latlng', array('label' =&gt; 'Map location', 'required')); ?&gt;
  </code></pre>
  
  <p>My edit method in the Store controller are as follow.</p>
  
  <pre><code>if ($this-&gt;Store-&gt;saveAll($this-&gt;data)) {
      $this-&gt;Session-&gt;setFlash('Store has been updated.');
      $this-&gt;redirect(array('controller' =&gt; 'store', 'action' =&gt; 'admin_index'));
  }
  </code></pre>
  
  <p>Whenever I edit a Store, the store name is updated fine but CakePHP keeps on inserting a new row on the Map table.</p>
  
  <p>Am I missing anything here? Thanks</p>
  
  <p><strong>Additional info</strong></p>
  
  <p>My debug($this->data) are as follow</p>
  
  <pre><code>Array
  (
      [Store] =&gt; Array
          (
              [id] =&gt; 52
              [name] =&gt; Sena The Accessorizer
          )
  
      [Map] =&gt; Array
          (
              [latlng] =&gt; 3.1580681, 101.7126311
          )
  
  )
  </code></pre>