我有从Fos \ UserBundle \ Model \ User扩展的实体Collab,我想从我登录的用户名获取实体。 我的控制员:
echo $this->getUser();
$collab->get('collab.collaborateurservice')->findCollaborateurByUserName($this->getUser());
echo $this->getEmailCollaborateur();
在我的经理中我定义了i方法:
public function findCollaborateurByUserName ($username){
return $this->getRepository()->findOneBy(array('username'=>$username));
}
我得到了这个例外:
FatalErrorException: Error: Call to a member function get() on a non-object in
如何获得这个实体?
答案 0 :(得分:0)
什么是$collab
?您尝试在未正确初始化的变量(非对象)上调用get
方法时出现致命错误。
答案 1 :(得分:0)
你的问题是这样的:
return $this->getRepository()->findOneBy(array('username'=>$username));
$collab->get('collab.collaborateurservice')->findCollaborateurByUserName($this->getUser());
应该是:
return $this->getDoctrine()->getRepository('YourBundleNamespace:Collab')->findOneBy(array('username'=>$username));
$collab = $this->get('collab.collaborateurservice')->findCollaborateurByUserName($this->getUser()->getUsername());