このドライバは次の操作モードをサポートしています。
表 62-1このドライバがサポートする操作モード
モード | サポートしている? |
---|---|
複数フィールドによる並べ替え | yes |
レコードの追加、更新および削除 | yes |
このドライバは、以下のオプションを受け付けます。
表 62-2このドライバのオプション
オプション | 型 | 説明 | デフォルト値 |
---|---|---|---|
fields | array | データソースからどのフィールドを取得するか。空の配列を指定すると、 すべてのフィールドを取得します。 array(field1, field2, ...) 形式となります。 | array() |
generate_columns | bool | ラベルつきの Structures_DataGrid_Column オブジェクトを作成します。 'labels' オプションを参照ください。 非推奨: 代わりに Structures_DataGrid::generateColumns() を使用してください。 | false |
labels | array | データフィールドとラベルの対応。 'generate_columns' が true の場合にのみ使用します。 array(field => label, ...) 形式となります。 非推奨: 代わりに Structures_DataGrid::generateColumns() を使用してください。 | array() |
params | array | prepare/execute 用のプレースホルダのパラメータ。 | array() |
primaryKey | array | レコードを一意に決定する識別子を含むフィールドの名前、 あるいは数値インデックス (複数のフィールドを指定するのは、 複合主キーの場合のみです)。 | null |
view | string | DB_Table オブジェクト内の $sql 配列からのビュー。このオプションは必須です。 | null |
where | string | SQL クエリの where 句。 | null |
ビューの select 部でエイリアスを使用する場合、DB_Table の count() メソッドが間違った結果を返すことがあります。そのため、 $datagrid->getRecordCount() も間違った結果を返すことがあります。 これを避けるため、DB_Table では件数取得用の特別なクエリを使用します。 これは、件数を取得したいビューの名前の前に '__count_' をつけた名前となります (例えば、'all' というビューがある場合、件数取得用のビューは '__count_all' という名前でなければなりません)。
update() メソッドおよび delete() メソッドを使用するには、 DB_Table のサブクラスで配列 $idx が適切に定義されていなければなりません。 たとえばデータベースのテーブルを自分で作成した場合などで $idx を設定していない場合は、オプション 'primaryKey' を使用して主キーフィールドを定義することができます。
例 62-1DB_Table クラスを Structures_DataGrid にバインドする
|