Я пытаюсь создать новую строку, используя DBIx :: Class из Catalyst, со следующим кодом:
$c->model('Session')->resultset('UserPreference')->create(
{
appname => 'rss_reader',
username => $username,
data => $data,
},
);
Но я каждый раз нажимаю эту ошибку:
Caught exception in App::Controller::rss->dbo "Can't call method "resolve" on an undefined value at /etg/source/Linux/pkg/perl-5.8.8/lib/site_perl/5.8.8/DBIx/Class/Row.pm line 1309."
Я вижу несколько списков рассылки, говорящих об этой ошибке как о неправильной общей ошибке, когда запрос завершается неудачей по какой-либо причине (perms, ограничения и т. Д.), Но выглядит просто отлично И даже работает с DBIC_TRACE = 1, я даже не вижу сгенерированный запрос в моей консоли.
Я должен упомянуть, что не думаю, что с разрешениями что-то плохое и т. Д. так как использование дескриптора базы данных работает вручную:
my $stm=$c->model("Session")->storage->dbh->prepare("insert into user_preferences (username,appname,data) values ('mphillip','rss_reader','cookies')"); $stm->execute();