教义日期时间无法转换为字符串

Tai*_*uch 1 php symfony doctrine-orm

我正在使用 symfony 2.3 和学说 2.2。我创建了一个控制台命令,以便在数据库中插入一些数据。当我尝试使用当前日期更新时间列时,收到此错误

    Catchable fatal error: Object of class DateTime could not be converted to string
 in D:\xampp\htdocs\biginfo\vendor\doctrine\orm\lib\Doctrine\ORM\Query\Expr\Comp
arison.php on line 98  
Run Code Online (Sandbox Code Playgroud)

命令.php

protected function configure() {
        $this
                ->setName('biginfo:invoice')
                ->setDescription('Générer les factures de chaque commercial chaque début du mois')
        ;
    }

    protected function execute(InputInterface $input, OutputInterface $output) {

        $users = $this->findByRole('ROLE_COMMERCIAL');
        // update invoice
        $this->updateInvoice($users);
        $this->updateStatus();
    }

    public function updateStatus() {
        $em = $this->getContainer()->get('doctrine.orm.entity_manager');
        $queryBuilder = $em->createQueryBuilder();
        $queryBuilder
                ->update('Biginfo\UserBundle\Entity\User', 'u')
                ->set('u.nbrBusiness', 0)
                ->set('u.time', new \DateTime(date('Y-m-d')));
        return $queryBuilder->getQuery();
    }   
Run Code Online (Sandbox Code Playgroud)

我该如何解决?

jam*_*ond 6

如评论中所述,您需要将 转换DateTime为字符串。您需要使用DateTime::format('Ymd H:i:s')函数,例如

new \DateTime->format('Y-m-d H:i:s') 应该管用。