求助 关于CLASS::DBI的SEARCH问题

求助 关于CLASS::DBI的SEARCH问题

求助 关于CLASS::DBI的SEARCH问题
大家好. 在用CLASS::DBI的search语句时出现问题.

Page::Login->table("user");
Page::Login->columns(All => qw(username password city phone email));
Page::Login->mk_accessors(qw(login));

sub login {
my($self) = shift;
my($q, $id) = @_;
my $username = $q->param("username");
my $password = $q->param("password");
my @objs = Page::Login->search(username => $username);
问题就出在返回值@objs上, 文档中说Returns an array of objects matching the criteria you supply
但输出@objs结果时只有$objs[0]->username有值, 其它的$objs[0]->password, $objs[0]->city..全为undef.
如果我把最后一句改成 my @objs = Page::Login->search(password => $password);
仍然能在数据库中找到对应行, 但返回结果还是之前那样, 除了username有值其它全为空.
(我的数据库中TABLE为 username, password, city, phone, email)

总结: 在做数据库内搜索时没问题. 如果username或password任一个错了都无返回, 但是正确搜索后返回的结果却只有第一个属性username, 其它的全丢了


非常感谢
问题找到了...
虽然这个User::Login是继承来的. 但要用search必需调用最初继承class::dbi的object 所以得用super(User::Login)->search(xxxxxxx)才能返回正确值
不知道还有没其它方法改正