こんにちは、null 値の挿入に問題があります。
このように phpmyadmin でテストするとうまくいきます: INSERT INTO all
( id
, album_id
, album_picture_id
, ) VALUES ('' style_id
, style_picture_id
175,null,null,null)
しかし、Doctrine2で挿入すると:
$getAlbum = $this->doctrine->em->getRepository('models\Album')->findOneBy(array('id'=>175)); $all = 新しいモデル\すべて; $all->setAlbumPicture(NULL); $all->setAlbum($getAlbum); $all->setStyle(NULL); $all->setStylePicture(NULL); $this->doctrine->em->persist($all); $this->doctrine->em->flush();
次のエラーが表示されます: [Sat Dec 01 14:24:36 2012] [error] [client 84.255.196.168] PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You SQL 構文にエラーがあります。/home/hosting/easydrobe.com/data の「all (album_id, album_picture_id, style_id, style_picture_id) VALUES (175, NULL, ' at line 1'」の近くで使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。 /application/libraries/Doctrine/DBAL/Statement.php:131\nスタック トレース:\n#0 /home/hosting/easydrobe.com/data/application/libraries/Doctrine/DBAL/Statement.php(131): PDOStatement- >execute(NULL)\n#1 /home/hosting/easydrobe.com/data/application/libraries/Doctrine/ORM/Persisters/BasicEntityPersister.php(239): Doctrine\DBAL\Statement->execute()\n# 2 /home/hosting/easydrobe.
私のモデル: http://pastebin.com/vgq4eWky
何か案は?手伝ってくれてありがとう。