Doctrine orm DBAL原则:使用';现在();价值
使用DBAL,我有一些代码,可以从绑定为Doctrine orm DBAL原则:使用';现在();价值,doctrine-orm,silex,dbal,Doctrine Orm,Silex,Dbal,使用DBAL,我有一些代码,可以从绑定为$telephone\u international和$lasname的表单值将新行插入main数据库 完成后,它会将一条新记录插入到一个重复的数据库中$app['dbs']['backup'] 如果成功,先前插入main数据库的条目将更新其copied值。复制的列是时间戳,默认值为0,但以下代码应将其更改为当前时间 $app['dbs']['main']->update('phonebook', array( 'mediated' =&g
$telephone\u international
和$lasname
的表单值将新行插入main
数据库
完成后,它会将一条新记录插入到一个重复的数据库中<代码>$app['dbs']['backup']
如果成功,先前插入main
数据库的条目将更新其copied
值。复制的列是时间戳,默认值为0,但以下代码应将其更改为当前时间
$app['dbs']['main']->update('phonebook', array(
'mediated' => 'NOW()'
), array(
'telephone' => $telephone_international,
'surname' => $surname
));
但值仍然是0000-00-00:00:00。我想知道'NOW()'
是否被视为一个字符串。正如我在上面的评论中所建议的,这似乎是一条路,如下所述:
所以试着这样做:
$app['dbs']['main']->update('phonebook', array(
'mediated' => new \DateTime("now")
), array(
'telephone' => $telephone_international,
'surname' => $surname
));
正如我在上面的评论中所建议的那样,这似乎是一条路要走,如下所述:
所以试着这样做:
$app['dbs']['main']->update('phonebook', array(
'mediated' => new \DateTime("now")
), array(
'telephone' => $telephone_international,
'surname' => $surname
));
我被同样的问题绊倒了。由于DBAL本身没有太多好的文档,我将发布我的解决方案
最后一个参数指定了类型(按照数据和标识数组合并的顺序;就像它们在同一个数组中一样):
我被同样的问题绊倒了。由于DBAL本身没有太多好的文档,我将发布我的解决方案
最后一个参数指定了类型(按照数据和标识数组合并的顺序;就像它们在同一个数组中一样):
作为简单的解决方法,您可以使用php的日期函数,如:'mediated'=>time(),为DateTime:new\DateTime('now')插入时间戳。作为简单的解决方法,您可以使用php的日期函数,如:'mediated'=>time(),为DateTime:new\DateTime('now')插入时间戳。谢谢您的回答。然而,我(应该说是我的合作开发者)决定使用date\u default\u timezone\u set('GMT')代码>和'mediated'=>日期('Y-m-dh:i:s')代码>以获得所需的结果。我将检查这是否在其他应用程序中起作用,在这一点上,我会将其标记为已接受。现在我已经返回到Symfony2和条令开发,我想我应该重新讨论这个问题。解决方案是使用$now=new\DateTime('now',new\DateTimeZone('UTC')代码>然后'mediated'=>$now->格式('Y-m-dh:i:s')
获取当前UTC时间。我将接受这个答案,因为它为我指明了正确的方向,但是您答案中的代码将失败,因为DateTime(“now”)
应该是字符串,而不是对象(除非我选择将其存储为对象)@AdamElsodaney是的,我本以为dbal层会在这里接受一个DateTime
对象,但我确实必须将我的DateTime
格式化为(new\DateTime())->格式('Y-m-dh:I:s')
,如你所说。谢谢你的回答。然而,我(应该说是我的合作开发者)决定使用date\u default\u timezone\u set('GMT')代码>和'mediated'=>日期('Y-m-dh:i:s')代码>以获得所需的结果。我将检查这是否在其他应用程序中起作用,在这一点上,我会将其标记为已接受。现在我已经返回到Symfony2和条令开发,我想我应该重新讨论这个问题。解决方案是使用$now=new\DateTime('now',new\DateTimeZone('UTC')代码>然后'mediated'=>$now->格式('Y-m-dh:i:s')
获取当前UTC时间。我将接受这个答案,因为它为我指明了正确的方向,但是您答案中的代码将失败,因为DateTime(“now”)
应该是字符串,而不是对象(除非我选择将其存储为对象)@AdamElsodaney是的,我本以为dbal层会在这里接受一个DateTime
对象,但我确实必须将DateTime
格式化为(new\DateTime())->格式('Y-m-dh:I:s')
。