SQLSTATE [23000]: нарушение ограничения целостности: 1048 Столбец «idzwierzatka» не может быть нулевым

У меня проблема с SonataAdminBundle после присоединения к таблице. Проблема в следующем:

Исключение произошло при выполнении «INSERT INTO zdjecia (idzwierzatka, imageName, path) VALUES (?, ?, ?)» с параметрами [null, «51ac56544e478.jpeg», null]: SQLSTATE [23000]: нарушение ограничения целостности: столбец 1048 'idzwierzatka' не может быть нулевым

Я не знаю, что делать. Моя сущность (я должна поместить в один файл из-за моей низкой репутации):

https://github.com/dduuch/problem/tree/master/src/Multimedia/AccountBundle/Entity (см. Zdjecia и Zwierzeta)

И файлы Sonata Admin (я должен поместить в один файл из-за моей низкой репутации): https://github.com/dduuch/problem/tree/master/src/Multimedia/StronaBundle/Admin (см. Zdjecia и Zwierzeta)

Если я изменю Entity Zdjecia с нулевым значением:

/**
 * @var integer $idzwierzatka
 * @ORM\Column(name="idzwierzatka", type="integer", length=10, nullable=true )
 */
protected $idzwierzatka;

Sonata не добавила мою idzwierzatka в базу данных.

Извините за мой плохой английский. Я новичок в Symfony2. Пожалуйста, скажите мне, как маленькому ребенку, что я не так;)

С наилучшими пожеланиями

ОБНОВИТЬ

Я решил это. В ZdjeciaAdmin у меня в "idzwierzatka" requirer => true. В прошлый раз, когда я комментировал это, я забыл схему обновления базы данных. Теперь это работает.

Спасибо!


person Dan Pav    schedule 06.06.2013    source источник


Ответы (1)


Sonata не отвечает за управление сущностями на уровне базы данных, в отличие от Doctrine. Попробуйте выполнить следующую команду, чтобы обновить свои объекты:

php app/console doctrine:schema:update --force
person Pier-Luc Gendreau    schedule 06.06.2013
comment
Да, это изменяет мою схему, но все равно не добавляет idzwierzatka в базу данных, когда я загружаю любой файл. Они добавляют: Idzdjecia, Image(путь). Идзвежатка нулевая ) - person Dan Pav; 06.06.2013