0
我的數據庫(mysql)表使用TIMESTAMP列,並且每當我希望它們在查詢中返回時,我希望它們被查詢爲「UNIX_TIMESTAMP(columnname)」。zend框架自動修改查詢
如何輕鬆修改zend框架中的查詢來實現此目的?
例如,當前的代碼:
select = $this->select();
$select->where('user_id = ?',$user_id);
return $this->fetchAll($select);
這最終變成了:
select * from tablename where user_id = 42;
我想要的東西,會自動查找TIMESTAMP列和改變結果查詢到:
select user_id,name,unix_timestamp(created) where user_id = 42;
我知道我可以使用MySQL視圖來實現這一點,但我寧願避免臨時噸。
謝謝。
RR
感謝您的回覆。是的,這很明顯。我正在尋找的是一種不指定所有列的方法。我想要一個通用的解決方案,不需要我爲每個具有時間戳的表維護PHP代碼中的列的列表。 – russellr 2012-04-05 20:34:53
啊。對不起,我誤解了。我建議看一下像Doctrine2那樣的東西。這將使用註釋將您的PHP類映射到MySQL。它將根據您對字段進行註釋的方式生成正確的查詢。 Doctrine2 ORM自動支持TIMESTAMP MySQL類型和PHP DateTime之間的映射。這可能是想要你想要的矯枉過正,但是一旦你掌握了它,它確實會讓生活更輕鬆。 http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html – 2012-04-06 00:05:03