我正在学习Symfony2并需要一些建议。我有两个实体,第一个实体“Issue”与第二个实体“Attachment”有一个OneToMany关系。当发布一个问题表单我成功上传所有子附件时,一切都工作hunky-dory :)但现在我想将我的上传解决方案变成一个服务,这就是我感到困惑的地方。上传在我的附件模型中处理,我的控制器只是如下所示:
if ($editForm->isValid()) {
$em->persist($entity);
$em->flush();
....
根据我的理解,可以使用“get”方法从控制器访问服务但是因为我不在控制器中处理我的附件而且从不从控制器实例化“附件”模型如何将其传递给上传服务?在Attachment实体构造中实例化它似乎打败了练习的对象不是吗?
如果我在谈论垃圾,请原谅我。白痴友好的指导将不胜感激。
编辑::除了反馈,上传是否应被视为在控制器中处理的服务,还是可能是与模型相关的行为?哪种方式跳。
答案 0 :(得分:0)
我在ZF2中做了类似的事情 - 但我仍然使用我的控制器处理和接收上传,然后使用服务提取上传,将它们注册到数据库等。
我得到临时上传到的文件的名称,并将其传递给服务(即/ tmp / up2029398393)。然后将其移动到它应该的位置,创建实体并执行持久性和实施。刷新该对象