Added capacity for concatenating columns

This commit is contained in:
Tom Lingham
2014-08-04 12:30:15 +10:00
parent 55893a0511
commit 5da59e9bcc
3 changed files with 12 additions and 2 deletions

View File

@ -34,6 +34,6 @@ class ConsecutiveCharactersMatcher extends BaseMatcher
{
$searchString = $this->formatSearchString( $rawString );
return "IF($column {$this->operator} '$searchString', ROUND({$this->multiplier} * (CHAR_LENGTH( '$rawString' ) / CHAR_LENGTH( REPLACE($column, ' ', '') ))), 0)";
return "IF(REPLACE($column, '\.', '') {$this->operator} '$searchString', ROUND({$this->multiplier} * (CHAR_LENGTH( '$rawString' ) / CHAR_LENGTH( REPLACE($column, ' ', '') ))), 0)";
}
}

View File

@ -63,7 +63,12 @@ abstract class BaseSearchDriver implements SearchDriverInterface {
$query = [];
foreach ($searchFields as $searchField) {
$query[] = $this->buildSelectCriteria( $searchField );
if (strpos($searchField, '::')){
$concatString = explode('::', $searchField);
$query[] = $this->buildSelectCriteria( "CONCAT({$concatString[0]}, ' ', {$concatString[1]})");
} else {
$query[] = $this->buildSelectCriteria( $searchField );
}
}
return \DB::raw(implode(' + ', $query) . ' AS ' . \Config::get('searchy::fieldName'));