我發現在FrozenTime對象一個奇怪的情況。FrozenTime對象謎
我從find()方法獲取數據,我把它發送到視圖如常。一個特定的字段來自MySQL時間列。
表名是sessions
和領域被稱爲time
。
當迭代resulset,該列變爲:
object(Cake\I18n\FrozenTime) {
'time' => '2017-07-14T01:00:50+00:00',
'timezone' => 'UTC',
'fixedNowTime' => false
}
的謎開始調用debug($session->time->format('G:i:s'));
有了這個的時候,我得到一個呼叫到空錯誤的成員函數的格式()。
在試圖解決這個問題,我所做的:
$moment = $session->time;
debug($moment instanceof \Cake\I18n\FrozenTime);
,我得到了一個true
作爲回答。奇怪的是零(因爲錯誤說),如果它實際上是有內容的對象。我希望能夠到FrozenTime對象上運行->format()
。
它運行時,甚至更奇怪:
$b = new Cake\I18n\FrozenTime($moment);
debug($b);
debug($moment == $b);
debug($b);
返回相同的對象(蛋糕\的I18n \ FrozenTime)以上表現,並debug($moment == $b);
回報true
。你猜怎麼着? $b->format('G:i:s');
工作在這一點上,它返回類似1:00:50
(我打電話$session->time->format('G:i:s'));
它是一個錯誤,當期待?我做錯了什麼?爲什麼要以不同的方式兩個相等對象的行爲呢?
我應該?重命名錶,和/或現場
任何幫助將不勝感激謝謝