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...

Try using parameters in your QueryBuilder:

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