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みたいにするのが良いかとは思うけど。