Использую laravel и пакет nicolaslopezj/searchable, прочитав документацию решил перейти к делу, настроил модель:
protected $searchable = [
'columns' => [
'products.clientArticle' => 10,
],
];
Применил поиск:
$products = Product::search($query)->get();
И тут всплывает ошибка:
SQLSTATE[42703]: Undefined column: 7 ERROR: column products.clientarticle
Почему название поля теперь в нижнем регистре? Вот запрос:
select * from (select "products".*, max((case when LOWER(products.clientArticle) ILIKE ? then 150 else 0
end) + (case when LOWER(products.clientArticle) ILIKE ? then 50 else 0 end) + (case when LOWER(products.clientArticle)
ILIKE ? then 10 else 0 end)) as relevance from "products" where "products"."deletedAt" is null group by "products"."id"
having (case when LOWER(products.clientArticle) ILIKE ? then 150 else 0 end) + (case when LOWER(products.clientArticle)
ILIKE ? then 50 else 0 end) + (case when LOWER(products.clientArticle) ILIKE ? then 10 else 0 end) >= 10.00 order by
"relevance" desc) as products