Test plan :
Launching script several times and see that marc field is alway ordered increasing
Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com>
Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
my $mappings = {};
while ( my $search_field = $search_fields->next ) {
- my $marc_to_fields = $schema->resultset('SearchMarcToField')->search( { search_field_id => $search_field->id } );
+ my $marc_to_fields = $schema->resultset('SearchMarcToField')->search(
+ { search_field_id => $search_field->id },
+ {
+ join => 'search_marc_map',
+ order_by => { -asc => 'search_marc_map.marc_field' }
+ }
+ );
while ( my $marc_to_field = $marc_to_fields->next ) {
- my $marc_map = Koha::SearchMarcMaps->find( $marc_to_field->search_marc_map_id );
+
+ my $marc_map = $marc_to_field->search_marc_map;
next if $marc_type && $marc_map->marc_type ne $marc_type;