【发布时间】:2012-01-22 22:31:08
【问题描述】:
我一直对Symfony2中模型(实体)持久化的概念很疑惑。 AFAIK,在 Symfony2 中没有像 model_instance->save() 这样的东西。相反,它必须通过检索理论实体管理器在控制器中调用,然后持久化 model_instance 并刷新 model_instance。
- 如果我有一个博客模型,其中包含变量标签模型实例和类别模型实例,它们将从博客消息正文中生成。但是,我不知道如何创建博客工厂来保存这些标签和类别,相反,我必须从工厂返回这些“标签”和“类别”实例(无论如何它都不会持续存在)---那里我无法在博客中的单一方法中保留博客并将标签和类别全部保留。
事实上,如果我想编写一个定期调用的脚本来持久化模型,这似乎是不可能的,因为它必须调用控制器,但我不明白为什么脚本需要存在 Web 服务器,但不仅仅是在不接触 Web 服务器的情况下处理对象模型。
我非常感谢如何解决上述问题。谢谢!
【问题讨论】:
-
如果你不接触网络服务器,你在哪里保存数据?您是否有一个单独的数据库服务器希望客户端直接连接?
-
谢谢。有几个地方:1)保存在单元测试中进行验证(我有一些来回查询的方法,请不要问为什么会在那里。)2)在Cron中运行,我没有理由这样做相信它应该通过网络服务。 3)保存标签/类别模型实例而不返回(erzult 通过 Transitive Persistence Cascade Operations 建议,我正在研究它)此外,我无法在 PHPUnit 中测试保存数据而不强迫我为为了测试意味着我冒着我的代码以后失败的风险。我很困惑。
-
啊,不是你不想接触网络服务器,而是你不想使用控制器。这更有意义:)
标签: php symfony doctrine-orm