有时候我们会需要在controller中录入数据,并及时的返回实体,但有些实体字段并没有被及时更新,这该怎么办呢?
symofony给我们提供了一个refresh方法:
1 2 3 4 5 6 7 8 9 10 11 12 |
$em = $this->getDoctrine()->getManager(); $XXXX = $request->files->get('XXXX'); $Uploadfileentity = new UploadfileEntity(); $Uploadfileentity->setImagefile($XXXX); $em->persist($Uploadfileentity); $em->flush(); // 及时从数据库更新持久化 $em->refresh($Uploadfileentity); $returnarar = array('success' => 1,'message' => '上传成功!','url' => $Uploadfileentity->getImagepath()); return new JsonResponse($returnarar); |
这段代码的意思是,你获取一个上传的文件,然后将文件赋值给entity处理,entity负责上传入库。
如果没有填写$em->refresh($Uploadfileentity); 恐怕你永远也不能及时获取到 $Uploadfileentity->getImagepath()的路径值。