Symfony2 Doctrine,如何只获取特定表的列名

时间:2014-06-13 06:13:26

标签: php mysql symfony doctrine-orm

您好我只想要表字段名称(列名称)如何实现这一点,截至目前我确实有以下代码 -

$em        =   $this->getDoctrine()->getManager();

$entities  =   $em->getRepository('SkerpInventoryBundle:InventoryMaster')->findAllIndex();

我正在使用存储库来获取表的所有数据。现在进入" $ entities"我有结果数据。任何人都可以让我知道如何只获取字段名称。

2 个答案:

答案 0 :(得分:7)

我想,这就是你需要的(假设你在你的控制器中):

    $mappings = $this->getDoctrine()->getManager()->getClassMetadata('AcmeBundle:SomeEntity');
    $fieldNames = $mappings->getFieldNames();

答案 1 :(得分:-5)

您可以使用DQL(Doctrine查询语言)。例如:

$query = $em->createQuery('SELECT u.username FROM CmsUser u');
$users = $query->getResults(); // array of CmsUser username values
echo $users[0]['username'];

有关DQL的更多信息,请参阅: http://docs.doctrine-project.org/en/2.1/reference/dql-doctrine-query-language.html