如何阻止Doctrine为每个查询返回主键

时间:2012-11-19 01:06:22

标签: doctrine doctrine-1.2

我对Doctrine有点恼火,因为即使我不想要它,也会在每个查询中返回主键。反正有没有阻止这个?因为我真的不想要那些该死的主键以及我的学说查询结果。

我所拥有的查询是:

$getAllDatesForUserQuery = $this->createQuery('s')
    ->select('s.datename')
    ->where('s.userid = ?',3)
    ->setHydrationMode(Doctrine::HYDRATE_ARRAY) ;

在这种情况下,它会按原样检索所有日期名,但也很乐意返回主键列值。我不想要它。

是我吗?还是Doctrine?

1 个答案:

答案 0 :(得分:3)

在这种情况下,如果您想要一个简单的数组并且只选择一个字段,那么答案就是Single Scalar Hydration模式。像这样使用它:

$q = $this->createQuery('s')
->select('s.datename')
->where('s.userid = ?',3)
->setHydrationMode(Doctrine::HYDRATE_SINGLE_SCALAR);

您应该会发现查询将返回一个只包含您想要的值的简单一维数组。