douhuang1852 2015-06-12 08:29
浏览 92
已采纳

Symfony2 Doctrine:ContextErrorException:Catchable Fatal Error:类DateTime的对象无法转换为字符串

In my Symfony2 project I have the following query in my ProductRepository.php:

$dateNow = new \DateTime();
$query = $this->createQueryBuilder('p')
            ->update('MyBundle\Products', 'p')
            ->set('p.published', $dateNow)
            ->getQuery();

$query->execute();

ProductEntity.php:

 /**
     * Set published
     *
     * @param \DateTime $published
     * @return Product
     */
    public function setPublished($published)
    {
        $this->published = $published;

        return $this;
    }

ERROR:

ContextErrorException: Catchable Fatal Error: Object of class DateTime could not be converted to string

In other posts I already read something about toString methods that need to be integrated, but I don't know where to implement it...

  • 写回答

1条回答 默认 最新

  • doulu4976 2015-06-12 08:58
    关注

    Try using parameters in your QueryBuilder:

    $query = $this->createQueryBuilder('p')
            ->update('MyBundle\Products', 'p')
            ->set('p.published', ':dateNow')
            ->setParameter('dateNow', $dateNow)
            ->getQuery();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?