Class::DBI::Plugin::Iterator

Class::DBI::Plugin::Iterator

 ダウンロードできるようにしました。

 ちなみにテストは適当です。ドキュメントもありません。

使い方

package Films::FavoriteFilms;
use base 'Class::DBI::mysql';
use Class::DBI::Plugin::Iterator;    # ←これを追加
__PACKAGE__->connection($dsn, $username, $password, $options);
__PACKAGE__->set_up_table('favorite_films');
1;
__END__

 これだけです。

 あとは何も変更する必要はありません。Class::DBI::AbstractSearch等のプラグインを使っても大丈夫。

Class::DBI::Iteratorとの違い

  • dataメソッドは空を返す。本当は全部のデータをfetchして返すべき?
  • sliceの戻り値がスカラーの場合は、Class::DBI::Iteratorオブジェクトを返す。また、ポインタが移動しない。

制限

 SQLのLIMIT ... OFFSET ... 構文を使っているので、それが使えないSQLでは動きません。

 Class::DBI::Plugin::Pagerみたいにするのが良いかとは思うけど。