1

findOneBy在我的实体中找到(使用)单行。这是代码:

$userown = $this->getDoctrine()->getRepository('GameShelfUsersBundle:Own')
    ->findOneBy(array(
        'game' => $game->getId(),
        'user' => $em->getRepository('GameShelfUsersBundle:User')->find($session->getId())
    ));

现在我将它作为userown. 但是当我尝试使用 twig 打印它时{{ userown.typo }},它会引发错误:

An exception has been thrown during the rendering of a template ("Catchable Fatal Error: Object of class Proxies\__CG__\GameShelf\UsersBundle\Entity\OwnState could not be converted to string in D:\!!XAMPP\htdocs\

我的实体在这里

4

2 回答 2

5

Doctrine 会自动解析你的外键,所以$typo不是字符串而是对象。正如错误消息告诉您的那样,该对象无法转换为字符串,因此打印失败。

您可以__toString()在 Entity 中实现该方法OwnState(它应该返回一个字符串),也可以打印 OwnState 对象的实际属性:{{ userown.type.someProperty }}.

于 2013-01-23T12:32:23.293 回答
1

你确定这是正确的

'game' => $game->getId()

我认为它应该是游戏对象本身而不是 id

'game' => $game,

于 2013-01-24T02:19:14.703 回答