我遇到了一个问题,即无法在学说调用中使用我的$ user对象(通过security.context获取)。
代码:
$user = $this->get('security.context')->getToken()->getUser();
$categories = $this->get('doctrine')->getEntityManager()
->getRepository('ToolkitBundle:Frontend\Category')
->findBy(array('company' => $user->getCompany()));
因此,理想情况下,这将获得当前用户信息(公司ID,从另一个表加入)并根据分配给他们的公司过滤类别。
E.g用户Dave被分配到公司A.类别B,D和F并分配给公司A,这就是Dave应该看到的。
然而,我收到此错误:
捕获致命错误:无法将类Proxies \ ToolkitBundleEntityUserCompanyProxy的对象转换为/Sites/lwv.com/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php第1083行中的字符串
我做了一些挖掘,看起来这个案例中的$ user对象不是真正的对象,而是代理?我相信这会导致问题。
如何将当前用户检索为真实对象?或者,如何将代理对象与Doctrine一起使用?