Structures_DataGrid_DataSource_DBTable

Structures_DataGrid_DataSource_DBTable -- PEAR::DB_Table データソースドライバ

説明

このクラスは、PEAR::DB_Table オブジェクト用のデータソースドライバです。

サポートする操作モード

このドライバは次の操作モードをサポートしています。

表 58-1このドライバがサポートする操作モード

モードサポートしている?
複数フィールドによる並べ替えyes
レコードの追加、更新および削除yes

オプション

このドライバは、以下のオプションを受け付けます。

表 58-2このドライバのオプション

オプション説明デフォルト値
fieldsarray データソースからどのフィールドを取得するか。空の配列を指定すると、 すべてのフィールドを取得します。 array(field1, field2, ...) 形式となります。 array()
generate_columnsbool ラベルつきの Structures_DataGrid_Column オブジェクトを作成します。 'labels' オプションを参照ください。 非推奨: 代わりに Structures_DataGrid::generateColumns() を使用してください。 false
labelsarray データフィールドとラベルの対応。 'generate_columns' が true の場合にのみ使用します。 array(field => label, ...) 形式となります。 非推奨: 代わりに Structures_DataGrid::generateColumns() を使用してください。 array()
paramsarrayprepare/execute 用のプレースホルダのパラメータ。array()
primaryKeyarray レコードを一意に決定する識別子を含むフィールドの名前、 あるいは数値インデックス (複数のフィールドを指定するのは、 複合主キーの場合のみです)。 null
viewstring DB_Table オブジェクト内の $sql 配列からのビュー。このオプションは必須です。 null
wherestringSQL クエリの where 句。null

全般的な注意

ビューの select 部でエイリアスを使用する場合、DB_Table の count() メソッドが間違った結果を返すことがあります。そのため、 $datagrid->getRecordCount() も間違った結果を返すことがあります。 これを避けるため、DB_Table では件数取得用の特別なクエリを使用します。 これは、件数を取得したいビューの名前の前に '__count_' をつけた名前となります (例えば、'all' というビューがある場合、件数取得用のビューは '__count_all' という名前でなければなりません)。

update() メソッドおよび delete() メソッドを使用するには、 DB_Table のサブクラスで配列 $idx が適切に定義されていなければなりません。 たとえばデータベースのテーブルを自分で作成した場合などで $idx を設定していない場合は、オプション 'primaryKey' を使用して主キーフィールドを定義することができます。