0

テーブルに参加した後、SonataAdminBundle に問題があります。問題は次のとおりです。

'INSERT INTO zdjecia (idzwierzatka, imageName, path) VALUES (?, ?, ?)' を params [null, "51ac56544e478.jpeg", null] で実行中に例外が発生しました: SQLSTATE[23000]: 整合性制約違反: 1048 列'idzwierzatka' を null にすることはできません

わからない、何をすべきか。私のエンティティ(評判が低いため、1つのファイルに入れる必要があります):

https://github.com/dduuch/problem/tree/master/src/Multimedia/AccountBundle/Entity (Zdjecia と Zwierzeta を参照)

Sonata 管理者のファイル (評判が低いため、1 つのファイルにまとめる必要があります): https://github.com/dduuch/problem/tree/master/src/Multimedia/StronaBundle/Admin (Zdjecia と Zwierzeta を参照)

nullableでEntity Zd​​jeciaを変更した場合:

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

Sonata は私の idzwierzatka をデータベースに追加しませんでした。

申し訳ありませんが、私の下手な英語で。私は Symfony2 の初心者です。私が間違っていることを小さな子供のように言ってください;)

よろしくお願いします

アップデート

私はこれを解決しました。ZdjeciaAdmin には、「idzwierzatka」requirer => true があります。前回これにコメントしたとき、データベース スキームの更新を忘れていました。今では動作します。

ありがとうございました!

4

1 に答える 1

1

Sonata は、データベース レベルでエンティティを管理する責任はありません。Doctrine は責任があります。次のコマンドを実行して、エンティティを更新してみてください。

php app/console doctrine:schema:update --force
于 2013-06-06T16:22:10.010 に答える