我在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()?
答案 0 :(得分:2)
$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中打印列值,对于传递'events'的数组使用'for'循环,使用实体文件中的变量,例如,
{%event for events%}
{{ event.eventName }}
{%endfor%}
eventName是实体'事件'中的变量。