mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-01-31 12:11:37 +01:00
Found the source of the issue, not sure how to fix
This commit is contained in:
parent
5681f4dd69
commit
33bf20cfc8
@ -100,10 +100,14 @@ abstract class Entity extends Model
|
||||
*/
|
||||
public static function fullTextSearchQuery($fieldsToSearch, $terms, $wheres = [])
|
||||
{
|
||||
$termString = '';
|
||||
foreach ($terms as $term) {
|
||||
$termString .= htmlentities($term) . '* ';
|
||||
foreach ($terms as $key => $term) {
|
||||
$term = htmlentities($term);
|
||||
if (preg_match('/\s/', $term)) {
|
||||
$term = '"' . $term . '"';
|
||||
}
|
||||
$terms[$key] = $term . '*';
|
||||
}
|
||||
$termString = "'" . implode(' ', $terms) . "'";
|
||||
$fields = implode(',', $fieldsToSearch);
|
||||
$termStringEscaped = \DB::connection()->getPdo()->quote($termString);
|
||||
$search = static::addSelect(\DB::raw('*, MATCH(name) AGAINST('.$termStringEscaped.' IN BOOLEAN MODE) AS title_relevance'));
|
||||
@ -113,7 +117,6 @@ abstract class Entity extends Model
|
||||
foreach ($wheres as $whereTerm) {
|
||||
$search->where($whereTerm[0], $whereTerm[1], $whereTerm[2]);
|
||||
}
|
||||
|
||||
// Load in relations
|
||||
if (static::isA('page')) {
|
||||
$search = $search->with('book', 'chapter', 'createdBy', 'updatedBy');
|
||||
|
@ -208,7 +208,9 @@ class PageRepo
|
||||
} else {
|
||||
$terms = [];
|
||||
}
|
||||
if (!empty($term)) {
|
||||
$terms = array_merge($terms, explode(' ', $term));
|
||||
}
|
||||
$pages = $this->page->fullTextSearchQuery(['name', 'text'], $terms, $whereTerms)
|
||||
->paginate($count)->appends($paginationAppends);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user