@@ -, +, @@ --- Koha/Checkout.pm | 7 +++---- Koha/Item.pm | 14 ++++++-------- Koha/Patron.pm | 5 ++++- t/db_dependent/Members/GetAllIssues.t | 2 +- 4 files changed, 14 insertions(+), 14 deletions(-) --- a/Koha/Checkout.pm +++ a/Koha/Checkout.pm @@ -52,11 +52,10 @@ deleted item. sub item { my ( $self, $params ) = @_; - my $item = Koha::Items->search( { itemnumber => $self->itemnumber() } )->next(); + $self->{_item} ||= Koha::Item->_new_from_dbic( $self->_result()->item ); + $self->{_item} ||= Koha::Deleted::Items->find( { itemnumber => $self->itemnumber() } ) if ( $params->{deleted} ); - $item ||= Koha::Deleted::Items->search( { itemnumber => $self->itemnumber() } )->next() if ( $params->{deleted} ); - - return $item || undef; + return $self->{_item}; } =head3 type --- a/Koha/Item.pm +++ a/Koha/Item.pm @@ -126,11 +126,10 @@ deleted biblio. sub biblio { my ( $self, $params ) = @_; - my $biblio = Koha::Biblios->search( { biblionumber => $self->biblionumber() } )->next(); + $self->{_biblio} ||= Koha::Biblio->_new_from_dbic( $self->_result()->biblio ); + $self->{_biblio} ||= Koha::Deleted::Biblios->find( { biblionumber => $self->biblionumber() } ) if ( $params->{deleted} ); - $biblio ||= Koha::Deleted::Biblios->search( { biblionumber => $self->biblionumber() } )->next() if ( $params->{deleted} ); - - return $biblio || undef; + return $self->{_biblio}; } =head3 biblioitem @@ -148,11 +147,10 @@ deleted biblioitem. sub biblioitem { my ( $self, $params ) = @_; - my $biblioitem = Koha::BiblioItems->search( { biblionumber => $self->biblionumber() } )->next(); - - $biblioitem ||= Koha::Deleted::BiblioItems->search( { biblionumber => $self->biblionumber() } )->next() if ( $params->{deleted} ); + $self->{_biblioitem} ||= Koha::BiblioItem->_new_from_dbic( $self->_result()->biblioitem ); + $self->{_biblioitem} ||= Koha::Deleted::BiblioItems->find( { biblionumber => $self->biblionumber() } ) if ( $params->{deleted} ); - return $biblioitem || undef; + return $self->{_biblioitem}; } =head3 type --- a/Koha/Patron.pm +++ a/Koha/Patron.pm @@ -114,7 +114,10 @@ sub all_checkouts { borrowernumber => $self->borrowernumber(), }, { - order_by => { "-$order_by_sort" => $order_by_column } + order_by => { "-$order_by_sort" => $order_by_column }, + prefetch => { + 'item' => 'biblio' + } } ); --- a/t/db_dependent/Members/GetAllIssues.t +++ a/t/db_dependent/Members/GetAllIssues.t @@ -2,7 +2,7 @@ use Modern::Perl; -use Test::More tests => 16; +use Test::More tests => 17; use Test::MockModule; use C4::Biblio; --