Czy istnieje sposób na włączenie wyrażeń MySQL, takich jak NOW() w aktualnej wersji ZF2 (2.0.0beta4) do Zend \ Db i/lub instrukcje insertGateway()/update() TableGateway?ZF2 Zend Db Wstawianie/aktualizację przy użyciu wyrażenia Mysql (Zend Db Sql Expression?)
Oto związane post na liście dyskusyjnej, choć nie został on odpowiedział: http://zend-framework-community.634137.n4.nabble.com/Zend-Db-Expr-and-Transactions-in-ZF2-Db-td4472944.html
Wydaje się, że ZF1 stosować coś takiego:
$data = array(
'update_time' => new \Zend\Db\Expr("NOW()")
);
A po pominie Zend \ Db \ sql \ Expression próbowałem:
$data = array(
'update_time' => new \Zend\Db\Sql\Expression("NOW()"),
);
Ale pojawia się następujący błąd:
Catchable fatal error: Object of class Zend\Db\Sql\Expression could not be converted to string in /var/www/vendor/ZF2/library/Zend/Db/Adapter/Driver/Pdo/Statement.php on line 256
Zgodnie z zaleceniami tutaj: http://zend-framework-community.634137.n4.nabble.com/ZF2-beta3-Zend-Db-Sql-Insert-new-Expression-now-td4536197.html Właśnie ustawiam datę z kodem PHP, ale wolałbym używać serwera MySQL jako jedynego źródła prawdy dla daty/czasu.
$data = array(
'update_time' => date('Y-m-d H:i:s'),
);
Dzięki, doceniam wszelkie dane wejściowe!
Dzięki za odpowiedzi i linkiem, będę aktualizować do najnowszej źródła i sprawdzić, czy nie ustąpi. –
Zend Framework 2.0 beta 6 i nadal nie ma rozwiązania tego problemu!?!?! – ufk
Problem rozwiązany w Zend Framework 2.0 beta 7 – ufk