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

我得到的完整错误错误,尽管在调用“持久”方法之前正确设置了“作者” http://i.imgur.com/crOqDUe.jpg

*我故意将 $author Entity 属性设置为public,以便能够在持久化控制器之前对其进行 var_dump。当它是私有的时,问题保持不变。 *

4

1 回答 1

1

我发现了问题所在。问题在我的脑海中(当然)。列“作者”是与用户实体的关系列,因此作者的值应该是用户类对象,而不是整数。

在控制器中,这就像:

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