DBIx::Custom модели
Кратенькая инструкция по моделям в DBIx::Custom
В основном скрипте:
use DBIx::Custom; use MyModel;
Подключаем модель (файл MyModel.pm и все вложенные модели в MyModel/books.pm , MyModel/users.pm, ...)
my $dbi = DBIx::Custom->connect( dsn => 'DBI:mysql:database=my_database;host=localhost;', user => 'user', password => 'password', connector => 1 );
my $dbi = MyModel->new($dbi);
my $models = $dbi->dbi->include_model('MyModel');
Объект конкретной модели:
my $mc_users = $dbi->dbi->model('users');
Вызываем кастомный select
my $emails = $mc_users->select(column => ['email']);
Файл MyModel.pm
package MyModel; use DBIx::Custom::Model -base;
# при обращении к Class->dbi вернуть хэндлер has dbi => sub { shift->{dbi} };
sub new { my $class = shift; my $dbi = shift;
my $self = { dbi => $dbi };
bless $self, $class; }
1;
Файл MyModel/mc_users.pm
package MyModel::mc_users;
use lib qw(..); use Data::Dumper; use common::sense; use MyModel -base;
sub new { my $class = shift; my $self = { table => 'mc_users', class => $class, name => 'users' }; bless $self, $class; }
# кастомный метод
sub select { my $self = shift; my @args = @_; say Dumper(@args); return 1; }
1;

















