1

Zend プロジェクトでは、データベースからデータを取得してテーブルに表示します。データベースに格納されているのと同じ順序でデータを表示します。しかし、データベースの順序とは異なる順序でフィールドを表示したいと考えています。しかし、私はこれを行う方法がわかりません。ここでは、行順ではなくフィールド順を意味します。この点で私を助けてください。

ありがとう

4

2 に答える 2

1

どのように表示されているかを言うのは難しいですが、テーブルごとにテーブルクラスを作成したと仮定して、次のようにします:

<?php foreach $zendDbRowObject->getTable()->getDisplayOrder() as $fieldName): ?>
    <?php echo $zendDbRowObject->$fieldName; ?>
<?php endforeach; ?>

したがって、特定のテーブルの Table クラスで、プロパティ/メソッドを作成して、必要な順序でフィールドを取得できます。

public function getDisplayOrder() {
   // fake column names obviously... use yours here.
   return array(
      'column5',
      'column1',
      'column4',
      'column2',
      'column3'
   );
}
于 2012-09-25T13:25:36.727 に答える
0

db select を実行すると、必要な列を選択できるため、select * の代わりに、

tablename から col5,col3,col2,col6,col1 を選択します

これにより、列の順序が変更されます

$select = $db->select() ->from(array('t' => 'table'), array('t.col2', 'p.col1`'));

于 2012-09-25T20:11:54.807 に答える