<bdo id='7AAis'></bdo><ul id='7AAis'></ul>

      <legend id='7AAis'><style id='7AAis'><dir id='7AAis'><q id='7AAis'></q></dir></style></legend>
      <i id='7AAis'><tr id='7AAis'><dt id='7AAis'><q id='7AAis'><span id='7AAis'><b id='7AAis'><form id='7AAis'><ins id='7AAis'></ins><ul id='7AAis'></ul><sub id='7AAis'></sub></form><legend id='7AAis'></legend><bdo id='7AAis'><pre id='7AAis'><center id='7AAis'></center></pre></bdo></b><th id='7AAis'></th></span></q></dt></tr></i><div id='7AAis'><tfoot id='7AAis'></tfoot><dl id='7AAis'><fieldset id='7AAis'></fieldset></dl></div>

        <small id='7AAis'></small><noframes id='7AAis'>

      1. <tfoot id='7AAis'></tfoot>

        Doctrine:将 CURRENT_TIMESTAMP 设置为数据库的默认值(即不是 PHP)

        Doctrine: Set CURRENT_TIMESTAMP as default value by the database (i.e. not by PHP)(Doctrine:将 CURRENT_TIMESTAMP 设置为数据库的默认值(即不是 PHP))

            <bdo id='EY28J'></bdo><ul id='EY28J'></ul>
            <legend id='EY28J'><style id='EY28J'><dir id='EY28J'><q id='EY28J'></q></dir></style></legend>
          • <i id='EY28J'><tr id='EY28J'><dt id='EY28J'><q id='EY28J'><span id='EY28J'><b id='EY28J'><form id='EY28J'><ins id='EY28J'></ins><ul id='EY28J'></ul><sub id='EY28J'></sub></form><legend id='EY28J'></legend><bdo id='EY28J'><pre id='EY28J'><center id='EY28J'></center></pre></bdo></b><th id='EY28J'></th></span></q></dt></tr></i><div id='EY28J'><tfoot id='EY28J'></tfoot><dl id='EY28J'><fieldset id='EY28J'></fieldset></dl></div>

              <tfoot id='EY28J'></tfoot>
                  <tbody id='EY28J'></tbody>
                • <small id='EY28J'></small><noframes id='EY28J'>

                • 本文介绍了Doctrine:将 CURRENT_TIMESTAMP 设置为数据库的默认值(即不是 PHP)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  找了一圈,还是没找到让数据库服务器插入CURRENT_TIMESTAMP的方法(作为INSERT的默认值).

                  After looking around for a while, I still couldn't find a way to get CURRENT_TIMESTAMP inserted by the database server (as default value on INSERT).

                  问题:当您将对象持久化到数据库时,Doctrine 将丢失的字段显式设置为 NULL.所以看起来,在表定义中设置默认值,根本没有任何影响:-(

                  The problem: When you persist an object to the database, missing fields are explicitly set to NULL by Doctrine. So it looks like, setting a default value in the table definition, doesn't have any effect at all :-(

                  我不想通过 PHP 设置时间(例如 $object->setTimestamp(new DateTime());)因为这可能返回与数据库服务器不同的时间有,如此处所述:https://stackoverflow.com/a/3705090/1668200

                  I don't want to set the time through PHP (e.g. $object->setTimestamp(new DateTime());) cause this might return a different time than what the database server has, as explained here: https://stackoverflow.com/a/3705090/1668200

                  到目前为止我尝试过的:

                  What I've tried so far:

                  • 按字面意思发送 NOW(例如 $object->setTimestamp('NOW()');),如下所述:https://stackoverflow.com/a/13850741/1668200
                    => 不工作:错误:在字符串上调用成员函数 format()

                  • Send in NOW literally (e.g. $object->setTimestamp('NOW()');), as explained here: https://stackoverflow.com/a/13850741/1668200
                    => Didn't work: Error: Call to a member function format() on string

                  在持久化对象之前从对象中删除时间戳"属性(请参阅https://stackoverflow.com/a/3600758/1668200 ) 也不起作用:无论如何,该字段已被 Doctrine 设置为 NULL.

                  Removing the 'timestamp' property from the object just before persisting it (see https://stackoverflow.com/a/3600758/1668200 ) didn't work either: The field was set to NULL by Doctrine anyway.

                  我发现的任何其他解决方案(包括 Doctrine 扩展Timestampable"https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/timestampable.md ) 使用 PHP 的时间.

                  Any other solution I found (including the Doctrine extension 'Timestampable' https://github.com/Atlantic18/DoctrineExtensions/blob/master/doc/timestampable.md ) uses PHP's time.

                  推荐答案

                  看看这个:https://stackoverflow.com/a/29384596/3255540 它应该解决Error: Call to a member function format() on string 的问题,并强制SQL NOW()发送到数据库.

                  Have a look at this: https://stackoverflow.com/a/29384596/3255540 it should resolve the problem with Error: Call to a member function format() on string and force SQL NOW() to be sent to the database.

                  这篇关于Doctrine:将 CURRENT_TIMESTAMP 设置为数据库的默认值(即不是 PHP)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Is PHP or PHP based web framework stateful or stateless?(PHP 或基于 PHP 的 Web 框架是有状态的还是无状态的?)
                  How to parse django style template tags(如何解析 django 样式模板标签)
                  What is a good setup for editing PHP in Emacs?(在 Emacs 中编辑 PHP 的好设置是什么?)
                  How to check whether specified PID is currently running without invoking ps from PHP?(如何在不从 PHP 调用 ps 的情况下检查指定的 PID 当前是否正在运行?)
                  What#39;s the difference between escapeshellarg and escapeshellcmd?(escapeshellarg 和escapeshellcmd 有什么区别?)
                  php in background exec() function(php 后台 exec() 函数)
                    <tbody id='XHSDP'></tbody>

                    <small id='XHSDP'></small><noframes id='XHSDP'>

                          <bdo id='XHSDP'></bdo><ul id='XHSDP'></ul>

                            <tfoot id='XHSDP'></tfoot>
                            <legend id='XHSDP'><style id='XHSDP'><dir id='XHSDP'><q id='XHSDP'></q></dir></style></legend>
                            <i id='XHSDP'><tr id='XHSDP'><dt id='XHSDP'><q id='XHSDP'><span id='XHSDP'><b id='XHSDP'><form id='XHSDP'><ins id='XHSDP'></ins><ul id='XHSDP'></ul><sub id='XHSDP'></sub></form><legend id='XHSDP'></legend><bdo id='XHSDP'><pre id='XHSDP'><center id='XHSDP'></center></pre></bdo></b><th id='XHSDP'></th></span></q></dt></tr></i><div id='XHSDP'><tfoot id='XHSDP'></tfoot><dl id='XHSDP'><fieldset id='XHSDP'></fieldset></dl></div>