to back up what robert is saying in your function definition you are
declaring $id=null. if you function is not getting an $id passed to it
that would cause an insert not an update.

in short you should make sure you are passing an id and also out a
conditional check on $id such as:


//if we find an item with this id
//you could use read() instead of find
if($this->find('first', array('conditions'=>array('Model.id'=>$id))))
{
$this->Model->id = $id;
}

else {
//failed to get model id
//now this acts like an add form
//or die
}
On Aug 11, 8:03 pm, tron <tken...@gmail.com> wrote:
> I have a problem with one specific controller trying to INSERT instead
> of UPDATE and I am getting duplicate entry errors. the "$this->data"
> variable contains the correct primary key of table I'm trying to
> update, but still tries to INSERT instead. Most notable text message
> is this in the debug dump: SELECT COUNT(*) AS `count` FROM `employees`
> AS `Employee` WHERE `Employee`.`id` IS NULL. Apparently its not
> getting the id at all?
>
> Code:
>
>         function        edit( $id = null )
>         {
>         pr( $id );
>         pr( $this->data );
>         $this->Employee->id = $id;
>
>         if( !empty( $this->data ) )
>         {
>             if( $this->Employee->save( $this->data ) )
>             {
>             }
>
>         } else {
>             $this->data = $this->Employee->read( null, $id );
>         }
>         }
>
> Both the pr functions display the correct data that suggests it should
> be doing an UPDATE instead of INSERT.
--~--~---------~--~----~------------~-------~--~----~
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