buildwithyab/laravel-scout-mysql-driver

Issue with multiple where on same column

Opened this issue · 4 comments

$searchText = 'test';
$query_builder = User::search($searchText);
$query_builder->where('a <=', 10);
$query_builder->where('b >=', 100);

it's correct, result :

select count(*) as aggregate from `beats` where a< '10' AND b> '100' 
AND MATCH(title) AGAINST('test' IN NATURAL LANGUAGE MODE)

but if i do

$searchText = 'test';
$query_builder = User::search($searchText);
$query_builder->where('a <=', 10);
$query_builder->where('a >=', 100);

result

"Illuminate\Database\QueryException

SQLSTATE[HY093]: Invalid parameter number (SQL: select count(*) as aggregate 
from `users` where a<= 100 AND a>= test AND MATCH(title) AGAINST(? IN NATURAL LANGUAGE MODE))

@MoogyG Try this as

$searchText = 'test';
$query_builder = User::search($searchText);
$query_builder->where('a', '<=', 10);
$query_builder->where('a', '>=', 100);

Not working, result :

select count(*) as aggregate from `users` where a = '>=' AND MATCH(title) AGAINST('test' IN NATURAL LANGUAGE MODE)

I am facing same issue. need some workaround for this

Same issue here