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 に答える