Zend プロジェクトでは、データベースからデータを取得してテーブルに表示します。データベースに格納されているのと同じ順序でデータを表示します。しかし、データベースの順序とは異なる順序でフィールドを表示したいと考えています。しかし、私はこれを行う方法がわかりません。ここでは、行順ではなくフィールド順を意味します。この点で私を助けてください。
ありがとう
Zend プロジェクトでは、データベースからデータを取得してテーブルに表示します。データベースに格納されているのと同じ順序でデータを表示します。しかし、データベースの順序とは異なる順序でフィールドを表示したいと考えています。しかし、私はこれを行う方法がわかりません。ここでは、行順ではなくフィールド順を意味します。この点で私を助けてください。
ありがとう
どのように表示されているかを言うのは難しいですが、テーブルごとにテーブルクラスを作成したと仮定して、次のようにします:
<?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'
);
}
db select を実行すると、必要な列を選択できるため、select * の代わりに、
tablename から col5,col3,col2,col6,col1 を選択します
これにより、列の順序が変更されます
$select = $db->select() ->from(array('t' => 'table'), array('t.col2', 'p.col1`'));