С помощью следующего кода я могу получить необходимые данные, но я также хочу отсортировать.
Допустим, найдено только 3 строки,
по первому найдено совпадение одного слова
на втором он нашел совпадение двух слов
на третьем он нашел совпадение одного слова.
$keyword = "metal chairs";
$keywordArr = explode(" ", $keyword);
$productData = $productData->where(function ($query) use ($keyword, $MykeywordArr) {
$query->orWhere('products.name', 'like', $keyword . '%');
$query->orWhere('products.info', 'like', $keyword . '%');
foreach ($MykeywordArr as $keywordKey => $keywordValue) {
$query->orWhere('products.name', 'like', '%' . $keywordValue . '%');
$query->orWhere('products.info', 'like', '%' . $keywordValue . '%');
}
});
// sorting for $productData goes here: