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

Posted

技术标签:

【中文标题】如何在 Symfony2 中保存视图中的数据【英文标题】:How to save data from the view in Symfony2 【发布时间】:2013-11-21 13:00:40 【问题描述】:

如何从 Symfony2 的视图中将数据保存在我的数据库中。

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

 $user->setInformation("Test");

该信息不存储在数据库中。

提前致谢

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

谢谢,但在这种情况下我得到这个错误:调用未定义的方法 Symfony/.../getDoctrine() 记住,我是从视图中使用它,而不是从控制器中 你不应该在视图中做这样的逻辑【参考方案2】:

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

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

所以

您应该检查您使用的是哪个学说实体管理器 确保您可以访问依赖注入容器。在控制器中,您可以使用 $this->get() 或 $this->getDoctrine() 因为容器已经在那里 设置字段 如果您创建新实体,您应该使用 $em->persist() 将其持久化 使用 $em->flush(); 刷新对数据库的更改

【讨论】:

以上是关于如何在 Symfony2 中保存视图中的数据的主要内容,如果未能解决你的问题,请参考以下文章

在swiftui中保存照片?

如何在 Swift 应用程序中保存本地数据?

如何在核心数据中保存单个实体

如何在 PostgreSQL 中保存生日日期?

在导航抽屉片段中保存视图页面片段的状态

如何以编程方式在 iOS 5 中保存生日日期