1

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

例如,我有一个查询是:

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

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

那是我吗?还是教义?

4

1 回答 1

3

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

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

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

于 2012-11-19T19:06:58.583 回答