1

やりたいこと: http://symfony.com/doc/current/cookbook/doctrine/file_uploads.htmlにある公式の Symfony 2 チュートリアルに従って、ファイルをアップロードしてそのデータをデータベースに保存しようとしています。

代わりに得られるもの: SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'author' cannot be null

私のエンティティ -> http://pastebin.com/av0XAASj

私のコントローラー -> http://pastebin.com/bQ32UUsa

「persist」メソッドを呼び出す前に「author」が適切に設定されていますが、私が得る完全なエラーエラー http://i.imgur.com/crOqDUe.jpg

*意図的に $author Entity プロパティをpublicに設定して、コントローラーに永続化する直前に var_dump できるようにしました。プライベートの場合、問題は同じままです.*

4

1 に答える 1

1

何が問題なのかわかりました。問題は私の頭の中にありました(もちろん)。列'author'はUserエンティティへの関係列であるため、Integerではなく、Authorの値をUserクラスオブジェクトにする必要があります。

コントローラでは、これは次のようになります。

  $user = $this->getDoctrine()
                    ->getRepository('RepoRepoBundle:User')
                    ->find('4449');
  $document->setUser($user);
  $em->persist($document);
  $em->flush();
于 2013-02-20T14:36:48.087 に答える