我对Doctrine有点恼火,因为即使我不想要它,也会在每个查询中返回主键。反正有没有阻止这个?因为我真的不想要那些该死的主键以及我的学说查询结果。
我所拥有的查询是:
$getAllDatesForUserQuery = $this->createQuery('s')
->select('s.datename')
->where('s.userid = ?',3)
->setHydrationMode(Doctrine::HYDRATE_ARRAY) ;
在这种情况下,它会按原样检索所有日期名,但也很乐意返回主键列值。我不想要它。
是我吗?还是Doctrine?
答案 0 :(得分:3)
在这种情况下,如果您想要一个简单的数组并且只选择一个字段,那么答案就是Single Scalar Hydration
模式。像这样使用它:
$q = $this->createQuery('s')
->select('s.datename')
->where('s.userid = ?',3)
->setHydrationMode(Doctrine::HYDRATE_SINGLE_SCALAR);
您应该会发现查询将返回一个只包含您想要的值的简单一维数组。