У меня возникли проблемы с попыткой вставить строку в мою таблицу MySQL с помощью Doctrine DQL, в частности, строки вставляются правильно, но столбец «created» показывает 0000-00-00 00: 00:00 на моем столе.Вставка строки mysql с использованием DateTime с использованием Doctrine DQL
Вот моя сущность:
class Packages
{
[... more irrelevant fields ...]
/**
* @var \DateTime
* @ORM\Column(name="created", type="datetime", nullable=false)
*/
private $created;
}
Вот мой код для вставки:
$packages = new Packages;
$packages->setCreated(new \DateTime("now"));
[... more setters here ...]
print_r($packages); // See below for the print_r output
$em = self::getEntityManager();
try{
$em->persist($packages);
$em->flush();
return $packages->getPackageId();
}catch(\Exception $e){
$this->error = $e->getMessage();
return false;
}
print_r выход здесь, а затем ID был возвращен правильно:
Core\Entities\Packages Object
(
[..... More irrelevant fields set correctly .....]
[created:Core\Entities\Packages:private] => DateTime Object
(
[date] => 2013-12-02 09:37:18
[timezone_type] => 3
[timezone] => America/Los_Angeles
)
)
Но то это произошло
mysql> select created from packages where package_id=1694;
+---------------------+
| created |
+---------------------+
| 0000-00-00 00:00:00 |
+---------------------+
1 row in set (0.00 sec)
У кого-нибудь есть ключ к этому поводу?
Ни работал. –