Alexander, ... I don't see all your code, so I'm guessing.

I assume this is all happening in the save action in your contoller.

And I'm guessing at a few names, but I think you'll get it...

Why not do this (from the docs, but adapted to your question... I
think):

function edit($id)
{
   //Note: The musicianRequest model is automatically loaded for us at
$this->MusicianRequest.

   // Check to see if we have form data...
   if (empty($this->data))
   {
        $this->MusicianRequest->id = $id;
        $this->data = $this->MusicianRequest->read();//populate the
form fields with the current row
   }
   else
   {
      /*
      ** here's my deviation from the example for your field.
      */
      $this->data['MusicianRequest']['lifetime'] =
        trim(date( "Y-m-d H:i:s",
                       strtotime( "+4 weeks",
                                     strtotime($this-
>data['MusicianRequest']['lifetime']))));
      /*
      ** and from here on we continue as normal
      */
      // Here's where we try to save our data. Automagic validation
checking
      if ($this->MusicianRequest->save($this-
>data['MusicianRequest']))
      {
         //Flash a message and redirect.
         $this->flash('Your information has been saved.',
                           '/properties/view/'.$this-
>data['MusicianRequest']['id'], 2);
      }
      //if some fields are invalid or save fails the form will render
   }
}

Jeff

On Sep 23, 4:33 pm, cronet <[EMAIL PROTECTED]> wrote:
> Hi,
>
> i'm trying to save a single datefield. My Controller looks like this:
>
> -------------------------%<--------------------------------
> // Set ID and lifetime
> $this->MusicianRequest->id = $id;
>
> $lifetime = trim(date( "Y-m-d H:i:s", strtotime( "+4 weeks",
> strtotime($this->data['MusicianRequest']['lifetime']) ) ) );
>
> echo $lifetime;  // FirstCase
> $this->MusicianRequest->saveField('lifetime',$lifetime);  //
> SecondCase
> -------------------------%<--------------------------------
>
> What happens?
> It shows me the right lifetime output in the FirstCase (e.g.
> 2007-10-21 23:02:00), but the query looks like this:
> UPDATE `musician_requests` SET `lifetime` = '2007-09-23 23:02:00'
> WHERE `id` IN (6)
>
> Perhaps i create $lifetime the wrong way? But if I use a manual
> created SQL query
> -------------------------%<--------------------------------
> $this->MusicianRequest->query( "UPDATE `musician_requests` SET
> `lifetime` = '".$lifetime."' WHERE `id` IN (".$id.")" );
> -------------------------%<--------------------------------
>  it works....
>
> I think it's an cake related problem, cause the php echo output
> displays the correct datetime.
> The query cakephp creates, is definitly not the desired lifetime...
>
> Any ideas or hints?
>
> Regards,
> Alexander


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to