DQL-запрос для получения определенных столбцов из таблицы - PullRequest
0 голосов
/ 03 сентября 2010

Я создал следующий метод таблицы, чтобы извлечь некоторые конкретные столбцы таблицы для последующего сравнения со значениями, хранящимися в массивах:

public function findAllComposedExcelColumns()
  {
    $q = Doctrine_Query::create()
        ->select('p.branch_code, p.state_id, p.state_description, p.account, p.client_name')
        ->from('Process p');

    return ($q->fetchArray());
  }

Но когда я печатаю элемент полученного массива, он также имеет свойство id , которое не нужно.

Array ( [0] => Array ( [id] => 1 [branch_code] => ... [state_id] => ... [state_description] => ... [account] => ... [client_name] => ... ) )

Почему id также появляется на результатах? Есть ли способ его удалить?

1 Ответ

0 голосов
/ 04 сентября 2010

Попробуйте увлажнить с помощью HYDRATE_SCALAR - это может дать вам то, что вы хотите.

Например.

public function findAllComposedExcelColumns()
  {
    $q = Doctrine_Query::create()
        ->select('p.branch_code, p.state_id, p.state_description, p.account, p.client_name')
        ->from('Process p');
    $output = $q->execute(array(), Doctrine_Core::HYDRATE_SCALAR);
    return $output;
  }

редактирование:

обратите внимание, что это также изменит ваши ключи массива,

например, от ['branch_code'] до ['p_branch_code']

использование этого типа метода гидратации также не является идеальным, когда есть соответствующие записи.

В целом, вышеприведенное достигает вашей цели для этого сценария. Тем не менее, я согласен с DrColossos, что лучше просто зациклить и игнорировать данные, которые вам не нужны.

...