我一直試圖插入一個時間戳到數據庫與$ rowUser-> fecha = new Zend_Date();但是當我檢查數據庫時,我總是在該字段中找到'0000-00-00 00:00:00'。如何使用Zend_Date在db中存儲時間戳?
我用MySQL的ALTER語句添加了'fecha'列(帶有時間戳的那一列),所以也許這就是這個問題......我不知道。不知道是否我的zend或SQL失敗。請Mods,如果問題看起來模糊,請不要關閉該主題,如有必要,我會更改或查找更多信息。
我一直試圖插入一個時間戳到數據庫與$ rowUser-> fecha = new Zend_Date();但是當我檢查數據庫時,我總是在該字段中找到'0000-00-00 00:00:00'。如何使用Zend_Date在db中存儲時間戳?
我用MySQL的ALTER語句添加了'fecha'列(帶有時間戳的那一列),所以也許這就是這個問題......我不知道。不知道是否我的zend或SQL失敗。請Mods,如果問題看起來模糊,請不要關閉該主題,如有必要,我會更改或查找更多信息。
對於誰可能關心此問題或未來可能會有類似問題,我找到了解決辦法。在用戶模式:
$rowUser = $this->createRow();
if($rowUser) {
// update the row values
$rowUser->email = $email;
$rowUser->password = md5($password);
$rowUser->url = $url;
$rowUser->responsable = $responsable;
$rowUser->role = $role;
$rowUser->fecha = Zend_Date::now()->toString('yyyyMMddHHmmss');; // This is the important bit
$rowUser->save();
//return the new user
return $rowUser;
}
你也可以使用$ rowUser->出生日期=新Zend_Db_Expr( 'NOW()');但如果有數據庫遷移,這可能會很麻煩。
「rowUser-> fecha = Zend_Date :: now() - > toString('yyyyMMddHHmmss');;」 – Josh 2013-01-30 14:56:18
我相信你需要使用類似的東西來
$rowUser->fecha = new Zend_Db_Expr('NOW()');
我認爲你可以使用Zend_Date組件,但你必須把它轉換爲正確格式的字符串表示插入。
如果你把一個日期保持在那裏,它能工作嗎? – wallyk 2011-05-23 22:33:21
@wallyk,由於某種原因,它似乎改變了fecha值,當我更新表中的其他字段,因爲它的設置ON UPDATE CURRENT_TIMESTAMP ...但我不知道我應該離開那裏,而如果我想要它做創建行上的同樣的東西 – 2011-05-23 22:55:14