DBIx::Class Best Practices #1

Все выборки с условиями оформляйте в виде отдельных методов на ResultSet'e. Позже поможет с рефаторингом и позволит много кода использовать повторно.

Чтобы писать собственные методы в резалтсет, нужно в описании схемы указать, какой класс использовать для резалтсета:


 __PACKAGE__->resultset_class( 'ItIs::Schema::DoIt::ResultSet' );

Ну а потом в этом классе пишем свои методы:


package ItIs::Schema::DoIt::ResultSet;
use strict;
use warnings;
use base qw/DBIx::Class::ResultSet/;

sub active {
    return shift->search( { completed_at => \"IS NULL" } );
}

1;


About this entry