Php 如何在Symfony2中保存视图中的数据

Php 如何在Symfony2中保存视图中的数据,php,database,symfony,view,doctrine-orm,Php,Database,Symfony,View,Doctrine Orm,如何从Symfony2中的视图将数据保存到数据库中 如果我有实体用户,并且我使用: $user->setInformation("Test"); 该信息不会存储在数据库中 提前感谢您应该坚持并刷新以将更改保存到数据库中。假设您使用的是ORM,下面的代码必须有效 $user->setInformation("Test"); $em = $this->getDoctrine()->getManager(); $em->persist($user); $em->

如何从Symfony2中的视图将数据保存到数据库中

如果我有实体用户,并且我使用:

 $user->setInformation("Test");
该信息不会存储在数据库中


提前感谢

您应该坚持并刷新以将更改保存到数据库中。假设您使用的是ORM,下面的代码必须有效

$user->setInformation("Test");
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();

视图不应包含实体持久性/保存逻辑。您应该仅使用视图来表示从控制器获取的数据

$this->getDoctrine是从DI容器获取默认实体管理器的别名

所以

  • 您应该检查您使用的是哪个条令实体管理器
  • 确保您可以访问依赖项注入容器。在控制器中,您可以使用$this->get()或$this->getDoctrine(),因为容器已经存在
  • 设置字段
  • 如果创建新实体,则应使用$em->persist()将其持久化
  • 使用$em->Flush()刷新对数据库的更改
谢谢,但在这种情况下,我得到了一个错误:调用未定义的方法Symfony/../getDoctrine(),记住,我是从视图而不是从控制器使用它。您不应该在视图中执行此类逻辑