Symfony2& MSSQL Server持久化日期

时间:2014-09-10 01:24:44

标签: php sql sql-server symfony

我有一个实体,其列“fecha”(日期时间)映射到SQL Server数据库。 当我尝试继续使用数据库时,会出现错误:

  

执行'UPDATE tor_jornada SET fecha =时发生异常   ?,cancha =? WHERE id =?'与params [“2014-09-14 00:00:00.000000”,   1,286]:

     

SQLSTATE [22007]:[Microsoft] [SQL Server Native Client 11.0] [SQL   服务器]从字符转换日期时转换失败   字符串。

当我将查询放入SQL Server Management时,会引发错误。 然后我在毫秒内剪切正确的零,将“2014-09-14 00:00:00.000000”更改为“2014-09-14 00:00:00.00”,它运行正常!

那么,我可以在Symfony中更改此内容吗?怎么样?在哪里?

实体:

namespace IM\ManTorneosBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * TorJornada
 *
 * @ORM\Table(name="tor_jornada", indexes={@ORM\Index(name="IDX_AB7D06987CEB63FE", columns={"torneo"})})
 * @ORM\Entity
 */
class TorJornada
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var integer
     *
     * @ORM\Column(name="jornada", type="integer", nullable=false)
     */
    private $jornada;

    /**
     * @var \DateTime
     *
     * @ORM\Column(name="fecha", type="datetime", nullable=false)
     */
    private $fecha;

 .....

1 个答案:

答案 0 :(得分:0)

使用此格式设置日期时间格式:

  $date = $datetime->format('Y-m-d H:i:s');

然后在查询中插入$ date as参数,这应该会给你" 2014-09-14 00:00:00"