Friday, October 1, 2010

Re: Automatically save timestamp fields

you can change the field names for created and modified:

in the model:

/**
*
* @var string tells cake the name of the created field on insert
*/
var $createField = 'entered';
/**
*
* @var string tells cake the name of the modified field on update
*/
var $updateField = 'modified';

in the beforeSave() of the model:

/**
* Before saving set up created and modified so we know when record
was changed
*
* @return boolean true always
*/
function beforeSave() {
// Alternate column automagic timestamping support
$nowDate = date('Y-m-d H:i:s');
if ($this->updateField) {
$this->set($this->updateField, $nowDate);
}
if ($this->createField and !$this->exists()) {
$this->set($this->createField, $nowDate);
}

return true;
}

On Oct 1, 11:01 am, Hugo M <ham1...@gmail.com> wrote:
> I'm trying to fill an "expiring date" field, so I can't use the created and
> modified/updated Cake automagic fields.
>
> 2010/10/1 Jeremy Burns | Class Outfit <jeremybu...@classoutfit.com>
>
>
>
> > What are you trying to achieve the Cake doesn't already do with the created
> > and modified fields which already get populated with 'now'?
>
> > Jeremy Burns
> > *Class Outfit*
> > *
> > *
> > jeremybu...@classoutfit.com <jeremybu...@mac.com>
> >http://www.classoutfit.com
>
> > On 1 Oct 2010, at 15:36, Hugo M wrote:
>
> > There's a way to save timestamp field without manually joining the hour,
> > day, year, etc. fields?
>
> > $this->Form->input('timestampfield');
>
> > When I do that, in backend I get:
>
> >  [timestampfield] => Array
> >                 (
> >                     [month] => 10
> >                     [day] => 01
> >                     [year] => 2010
> >                     [hour] => 11
> >                     [min] => 37
> >                     [meridian] => am
> >                 )
>
> > And I need to manually construct the timestamp field, is that OK? :S
>
> > Check out the new CakePHP Questions sitehttp://cakeqs.organd help others
> > with their CakePHP related questions.
>
> > 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+unsubscribe@googlegroups.com For more options, visit this group
> > athttp://groups.google.com/group/cake-php?hl=en
>
> >  Check out the new CakePHP Questions sitehttp://cakeqs.organd help
> > others with their CakePHP related questions.
>
> > 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+unsubscribe@googlegroups.com<cake-php%2Bunsubscribe@googlegroups.c­om>For more options, visit this group at
> >http://groups.google.com/group/cake-php?hl=en

Check out the new CakePHP Questions site http://cakeqs.org and help others with their CakePHP related questions.

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+unsubscribe@googlegroups.com For more options, visit this group at http://groups.google.com/group/cake-php?hl=en

No comments: