Php Symfony2使用数据库

Php Symfony2使用数据库,php,database,symfony,Php,Database,Symfony,我正在做我在Symfony2上的第一个项目。我的基本动作有些问题。 我已生成表的实体: CREATE TABLE IF NOT EXISTS `product_category` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=

我正在做我在Symfony2上的第一个项目。我的基本动作有些问题。 我已生成表的实体:

CREATE TABLE IF NOT EXISTS `product_category` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
现在我想从这个表中选择所有行。我该怎么做?我试图在实体中添加新方法

public function getAll()
{
    $em = $this->getDoctrine()->getManager();
    $query = $em->createQuery(
        'SELECT *
        FROM product_category'
    );

    return $query->getResult();
}
。。。但我很确定这是一种不好的方法,因为我必须在具体实体的上下文中使用这个方法。任何提示?

条令不使用SQL,您不需要自定义查询来获取所有记录,您可以使用默认存储库:

// e.g. in a controller
$repository = $this->getDoctrine()->getRepository('AcmeStoreBundle:Product');
$products = $repository->findAll();

这是一个例子,你应该先阅读文档,这些项目有很棒的文档。

谢谢,我刚刚读过。但在$products中执行此操作后,我有大量不同的数据。看起来我不必将结果转换为数组或其他内容,只需将其传递到模板中,如下所示: