mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-12 13:24:25 +00:00
fixed: narrow search on postal code with an 'AND' clause instead of 'OR' clause
This commit is contained in:
parent
1d8f25e2c8
commit
94c258e914
@ -119,8 +119,8 @@ final class PostalCodeRepository implements ObjectRepository
|
|||||||
|
|
||||||
$pertinenceClause = ['STRICT_WORD_SIMILARITY(canonical, UNACCENT(?))'];
|
$pertinenceClause = ['STRICT_WORD_SIMILARITY(canonical, UNACCENT(?))'];
|
||||||
$pertinenceArgs = [$pattern];
|
$pertinenceArgs = [$pattern];
|
||||||
$orWhere = ['canonical %>> UNACCENT(?)'];
|
$andWhere = ['canonical %>> UNACCENT(?)'];
|
||||||
$orWhereArgs = [$pattern];
|
$andWhereArgs = [$pattern];
|
||||||
|
|
||||||
foreach (explode(' ', $pattern) as $part) {
|
foreach (explode(' ', $pattern) as $part) {
|
||||||
$part = trim($part);
|
$part = trim($part);
|
||||||
@ -129,8 +129,8 @@ final class PostalCodeRepository implements ObjectRepository
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
$orWhere[] = "canonical LIKE '%' || UNACCENT(LOWER(?)) || '%'";
|
$andWhere[] = "canonical LIKE '%' || UNACCENT(LOWER(?)) || '%'";
|
||||||
$orWhereArgs[] = $part;
|
$andWhereArgs[] = $part;
|
||||||
$pertinenceClause[] =
|
$pertinenceClause[] =
|
||||||
"(EXISTS (SELECT 1 FROM unnest(string_to_array(canonical, ' ')) AS t WHERE starts_with(t, UNACCENT(LOWER(?)))))::int";
|
"(EXISTS (SELECT 1 FROM unnest(string_to_array(canonical, ' ')) AS t WHERE starts_with(t, UNACCENT(LOWER(?)))))::int";
|
||||||
$pertinenceClause[] =
|
$pertinenceClause[] =
|
||||||
@ -139,7 +139,7 @@ final class PostalCodeRepository implements ObjectRepository
|
|||||||
}
|
}
|
||||||
$query
|
$query
|
||||||
->setSelectPertinence(implode(' + ', $pertinenceClause), $pertinenceArgs)
|
->setSelectPertinence(implode(' + ', $pertinenceClause), $pertinenceArgs)
|
||||||
->andWhereClause(implode(' OR ', $orWhere), $orWhereArgs);
|
->andWhereClause(implode(' AND ', $andWhere), $andWhereArgs);
|
||||||
|
|
||||||
return $query;
|
return $query;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user