Есть класс Chapter, который представляет из себя главу книги. В классе, среди прочих, есть 3 поля с порядковыми номерами глав: текущая, предыдущая и следующая (ordinal, prev, next).<div>Хочется при добавлении нового объекта в базу автоматически менять номер следующей главы для предыдущей (т.е. поставить туда номер только что созданного объекта).</div>

<div><br></div><div>В коде это выглядит примерно вот так:</div><div><br></div><div>Package Chapter;</div><div><br></div><div># ... DBIx::Class stuff</div><div><br></div><div>use Class::Method::Modifiers;</div><div><br></div>

<div>after insert => sub {</div><div>    my $self = shift;</div><div><br></div><div><div>    my $prev = $self->result_source_instance->resultset->search({</div><div>        book_id => $self->book_id,</div>

<div>        ordinal  => $self->prev,</div><div>    })->single;</div><div>    if(defined $prev) {</div><div>        $prev->next($self->ordinal);</div><div>        $prev->update;</div><div>    }</div></div>

<div>};</div><div><br></div><div>При попытке это выполнить получаю:</div><div>DBIx::Class::ResultSet::single(): Unable to perform storage-dependent operations with a detached result source (source '_unnamed_' is not associated with a schema)</div>

<div><br></div><div>Сталкивался кто–нибудь с этим? Не очень понятно в какую сторону смотреть.</div><div>Читал список рассылки dbix-class, там это сообщение упоминается один раз, но в другом контексте (что–то связанное с сериализацией объектов, чего у меня нет).</div>

<div><br></div><div>ЗЫ: просто перегружать insert тоже пробовал, толку ноль.</div>