2012-02-02 67 views
1

为什么我会收到错误消息?ORLite:为什么我会收到错误消息'Can not locate object method“create”via package ...'

#!/usr/bin/env perl 
use warnings; 
use 5.012; 

use ORLite { 
    package  => 'My::ORM', 
    file  => 'sqlite_test.db', 
    create  => sub { 
     my $dbh = shift; 
     $dbh->do('CREATE TABLE user (name TEXT NOT NULL, age INTEGER)'); 
    }, 
}; 

say My::ORM::User->table; 

my $user = My::ORM::User->create(name => 'Alpha', age => 23,); 

输出:

user 
Can't locate object method "create" via package "My::ORM::User" at ./perl1.pl line 16. 

回答

3

您尝试使用了仅在有主键的表可用的方法。

修复创建查询,将工作:

$dbh->do('CREATE TABLE user (name TEXT PRIMARY KEY, age INTEGER)'); 
#          ^^^^^^^^^^^ 
相关问题