Doctrine запрос возвращает дополнительное поле в результате - PullRequest
0 голосов
/ 17 мая 2011

У меня есть запрос Doctrine;

    $q = Doctrine_Query::create()->select('s.monthly_volume')
    ->from('SearchVolume s')
    ->innerJoin('s.Keywords k')
    ->where('k.group_id = ?',array($group_id));

Я просто хочу, чтобы он возвращал значение month_volume в массиве результатов. В настоящее время он возвращает month_volume и идентификатор, я не хочу, чтобы он возвращал идентификатор в результате.

1 Ответ

1 голос
/ 19 мая 2011

Doctrine автоматически добавляет поле первичного ключа к результатам практически в каждом типе режима гидратации.

В таком случае, когда вам нужен простой массив и выбрано только одно поле, ответом будет:Режим одиночного скалярного увлажнения.Используйте его следующим образом:

$q = Doctrine_Query::create()->select('s.monthly_volume')
    ->from('SearchVolume s')
    ->innerJoin('s.Keywords k')
    ->where('k.group_id = ?');

$monthly_volumes = $q->execute(array($group_id), Doctrine_Core::HYDRATE_SINGLE_SCALAR);

Вы должны обнаружить, что $ month_volumes - это простой одномерный массив, содержащий только те значения, которые вы хотели.

...