DB/DataObject.php | MySQL Timestamps not working as expected??

From: Date: Mon, 19 Apr 2004 17:02:07 +0000
Subject: DB/DataObject.php | MySQL Timestamps not working as expected??
Groups: php.pear.general 
Request: Send a blank email to pear-general+get-11953@lists.php.net to get a copy of this message
So I have a DO object of my own called DataObjects_Member <?php /** * Table Definition for member */ require_once 'DB/DataObject.php'; class DataObjects_Member extends DB_DataObject { ###START_AUTOCODE /* the code below is auto generated do not remove the above tag */ var $__table = 'member'; // table name var $member_id; // int(5) not_null primary_key unsigned auto_increment var $member_first_name; // string(20) var $member_middle_name; // string(20) var $member_last_name; // string(50) var $member_suffix; // string(10) var $member_gender; // string(1) not_null enum var $member_birth_date; // date(10) var $member_block_fap; // int(1) not_null unsigned var $member_description; // blob(65535) blob var $member_company; // string(100) var $member_mailing_address_id; // int(5) unsigned var $member_mailing_email_id; // int(5) unsigned var $member_modified_timestamp; // timestamp(14) not_null unsigned zerofill timestamp var $member_created_timestamp; // timestamp(14) not_null unsigned zerofill /* ZE2 compatibility trick*/ function __clone() { return $this;} /* Static get */ function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('DataObjects_Member',$k,$v); } /* the code above is auto generated do not remove the tag below */ ###END_AUTOCODE } ?> Right now I'm using the following code snippet to create a new member and it's working great: $member->setMember_first_name("Michael"); $member->setMember_middle_name("Donald"); $member->setMember_last_name("Zornek"); $member->setMember_suffix(""); $member->setMember_gender("M"); $member->setMember_birth_date("1979-07-11"); $member->setMember_description("Michael Zornek is a great guy!"); $member->setMember_company(""); $member->insert(); However, if you look at my DataObjects_Member class you may notice how I have two object properties called $member_modified_timestamp and $member_created_timestamp. The first one (modified) is handled automatically by MySQL but whenever I create a new record I'm suppose to set $member_created_timestamp to the MySQL NOW() equivalent. Using the documentation and a bit and some experimentation I can't seem to do it. I then thought maybe I could use PHP to set it but using code like this: $member->setMember_created_timestamp(date("YmdHis")); -or- $member->setMember_created_timestamp("20040704091734"); -or- $current_time = date("YmdHis"); $member->setMember_created_timestamp($current_time); But watching the DataObject debug (level 3) results go by it doesn't even look like it's trying to put the member_created_timestamp into the INSERT statement. Little help. Thanks! ~ Mike ----- Mike Zornek Web Designer, Media Developer, Programmer and Geek Personal site: <http://MikeZornek.com> New Project: <http://WebDevWiki.com>

« previous php.pear.general (#11953) next »