0

特定のテーブル列を抽出して、後で配列に格納された値と比較できるようにするために、次のテーブル メソッドを作成しました。

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ですか? それを取り除く方法はありますか?

4

1 に答える 1

0

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 の意見には同意します。

于 2010-09-04T15:15:00.413 に答える