Я использую symfony 2.3 и doctrine 2.2. Я создал консольную команду, чтобы вставить некоторые данные в базу данных. Когда я пытаюсь обновить столбец времени с текущей датой, я получаю эту ошибкуdoctrine DateTime не удалось преобразовать в строку
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
Command.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();
}
Как я могу это исправить?
Конструктор запросов не принимает 'DateTime' напрямую, поскольку это второй параметр. Вам нужно использовать формат '-> ('Y-m-d H: i: s')' (или любой формат даты, который вы хотите использовать). – Octopoid