当我尝试使用时:
$user = $userRepo->find($id)
与FOSUserBundle然后我收到一个大对象。当然,我可以使用自己的仓库查询来查找它并以数组形式返回,但是我想通过以下方式更新此用户:
$user->setName('asd');
是否还有其他方法可以通过find函数获取较小的对象?任何水合物或其他。在我的情况下,参考不是解决方案。
我相信您可以使用部分对象来实现以下目的:
$userId = ...; // you user id
$user = $em
->createQuery("SELECT PARTIAL u.{id,name} from AppBundle:User u WHERE u.id = :id")
->setParameter('id', $userId)
->getSingleResult();
$user->setName("some new name");
$em->flush();
我还没有尝试运行它,但是听起来好像可行...
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句