Tôi đang cố gắng sử dụng DBIx: Lớp. Tôi đã tạo thành công lớp Schema bằng cách sử dụng DBIx: class :: Schema :: Loader.DBIx: Lớp học - không thể tìm thấy nguồn cho mô hình
Tôi cũng có thể kết nối với cơ sở dữ liệu.
#!/usr/bin/perl -w
use Test::More tests => 5;
use_ok('Models::ModelRole');
use_ok('Models::User');
my $model = Models::User->new();
cmp_ok($model->{ModelName}, 'eq', 'User', 'model name');
ok($model->connect(), "connect"); #works
ok($model->{schema}->resultset('User'));
Các thử nghiệm cuối cùng trả về thông báo lỗi:
DBIx::Class::Schema::source(): Can't find source for User at ./tests/ModelsTests.pl line 29
Đây là cấu trúc của lớp được tạo ra từ DBIx: Class :: Schema :: Loader:
Đây là lớp người dùng mô hình:
package Models::User;
use DB::Glued::Schema::Result::User;
use Models::ModelRole;
use Moose;
with 'Models::ModelRole';
sub BUILD {
my $self = shift;
$self->{schema} = Glued::Schema::Result::User->new();
my @name = split('::', __PACKAGE__);
$self->{ModelName} = $name[-1];
}
1;
Tôi hy vọng điều này là đủ thông tin.