这与Symfony2和Doctrine2有关。我在我的用户实体中有这个:
public function getRoles()
{
return $this->roles->toArray();
}
然而,它正在回归:
array(object(Role))
我可以开始寻找任何想法吗?我已经调试了一段时间。
答案 0 :(得分:2)
这是逻辑行为;默认情况下,Doctrine2返回一个Collection
对象,并通过调用toArray()
将其转换为数组。但是你的数组仍然包含Role
个对象,它们基本上不是字符串。当然,您可以定义自己的方法来将其作为字符串,我认为基本上您只需要调用Role::getRole()
。
看看this article,它可能对您有所帮助。
答案 1 :(得分:1)
我在跟踪Cookbook Tutorial on Loading Users From Database之后发现了这个错误,也许这就是你的情况。
事实证明,我忘了在我的RoleInterface
实体对象(我的Role
实体引用的对象)上实现User
。就是这样。