Bug 34360: Get distinct biblionumber
This fixes the problem noted in the bug: [WARN] DBIx::Class::ResultSetColumn::new(): Attempting to retrieve non-unique column 'biblionumber' on a resultset containing one-to-many joins will return duplicate results. at /usr/share/koha/Koha/Objects.pm line 421 We are taking a list of items, assuming the scenario is that these are from a single biblio and possibly some host_items, then searching and ordering conditionally on whether the biblio is a serial. Current code gets the first biblio from the list - this patch adds a 'DISTINCT' to the results ebfore fetching the column To test: 1 - Find a biblio in the staff interface 2 - Transfer one of the items a few times 3 - Recreate the issue on the command line: export DBIC_TRACE=1 perl -e 'use Koha::Items; my $items = Koha::Items->search({biblionumber=>9})->search_ordered(undef,{ prefetch => ['issue','current_branchtransfers'] }); $items->next' 4 - Note warning: DBIx::Class::ResultSetColumn::new(): Attempting to retrieve non-unique column 'biblionumber' on a resultset containing one-to-many joins will return duplicate results. at /kohadevbox/koha/Koha/Objects.pm line 426 5 - Apply patch 6 - Repeat 3 7 - Error is gone Signed-off-by: baptiste <baptiste.bayche@inlibro.com> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
This commit is contained in:
parent
5c43883a7c
commit
b5388933b6
1 changed files with 1 additions and 1 deletions
|
@ -450,7 +450,7 @@ sub search_ordered {
|
|||
|
||||
$self = $self->search($params, $attributes);
|
||||
|
||||
my @biblionumbers = uniq $self->get_column('biblionumber');
|
||||
my @biblionumbers = uniq $self->search(undef,{distinct=>1})->get_column('biblionumber');
|
||||
|
||||
if ( scalar ( @biblionumbers ) == 1
|
||||
&& Koha::Biblios->find( $biblionumbers[0] )->serial )
|
||||
|
|
Loading…
Reference in a new issue