1

我在 Symfony 中有一个类/实体,我正在尝试使用该findAll()方法从名为 Event 的表中获取所有内容:

$this->getDoctrine()->getManager()->getRepository('MYBUNDLE:Event')->findAll();

我收到此错误:

[Semantical Error] line 0, col 50 near 'e ': Error: Class 'e' is not
defined. 500 Internal Server Error - QueryException 1 linked

这是我的实体:

class Event 
{
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     *
     * @ORM\ManyToOne(targetEntity="Rposition")
     * @ORM\JoinColumn(name="id_Owner", referencedColumnName="id" )
     **/
    private $idOwner;

    /**
     * @var boolean
     *
     * @ORM\Column(name="repeats", type="boolean", nullable=true)
     */
    private $repeats;

是什么导致了这个错误?如何正确使用 findAll()?

4

1 回答 1

4
    $events = $this->getDoctrine()
        ->getRepository('AppBundle:Event')
        ->findAll();

    if (!$events) {
        throw $this->createNotFoundException(
            'No event found'
        );
    }

    return $this->render(
        'AppBundle:Event:index.html.twig',
        array('events' => $events)
    );

将其放入所需的控制器功能中。然后渲染 Resource/views/Event/index.html.twig 中的特定树枝

要打印 index.html.twig 中的列值,对传递的“事件”数组使用“for”循环,使用实体文件中的变量,例如,

{% for event in events %}

 {{ event.eventName }}

{% endfor %}

eventName 是实体“事件”中的变量。

于 2015-04-03T14:16:26.303 回答