Вставка текущей даты в MySql с использованием Zend Date - PullRequest
4 голосов
/ 28 сентября 2011

У меня есть сайт, основанный на Zend Framework. Существует форма для заполнения пользователями, и введенные данные вставляются в базу данных.

Пользователи не вводят дату / время. Я хотел бы заполнить значение данных на основе текущей даты / времени. Поле даты имеет тип datetime .

я постоянно получаю следующее сообщение об ошибке:

Notice: Array to string conversion in D:\wamp\www\CNFSORG\library\Zend\Db\Statement\Pdo.php on line 228

Я пытался сделать следующее:

<?php $date = new Zend_Date(); ?>

также попытался сделать:

<?php $date = new Zend_Db_Expr('NOW()'); ?>
<?php $date = new Zend_Db_Expr('CURDATE()'); ?>

Буду очень признателен, если кто-нибудь укажет мне правильное направление.

заранее спасибо ...

Ответы [ 3 ]

7 голосов
/ 29 сентября 2011

Правильный ответ

<?php $date = new Zend_Db_Expr('NOW()'); ?>

Вы можете попытаться создать текущую временную метку из php с чем-то вроде этого

<?php  $date = new \DateTime(); ?>
1 голос
/ 28 сентября 2011

Что ж, я сделал это для SqlServer, но я думаю, что для MySql вам просто нужно изменить выражение db на то, что вы хотите.

$this->_colocation = new Application_Model_Colocation();
$solicitacao = $this->_colocation->find($post['hdnIdSolicitacao'])->current();
$solicitacao->data_chegada = new Zend_Db_Expr('getdate()');
$solicitacao->save();

Надеюсь, это поможет.

0 голосов
/ 30 января 2014

В вашем классе таблицы используйте этот код:

    $tme =new Zend_Date();
    $data['tme']=$tme->now();
    $this->insert($data);

Если у вас есть столбец с tme именем и типом datetime, этот код будет делать то, что вы хотите!

...