Как выполнять поиск по определенным столбцам с помощью TNTSearch в Laravel?

Ниже приведен код моей модели Product.php.

public $asYouType = true;

public function toSearchableArray()
{
    $array = $this->toArray();

    // Customize array...

    return $array;
}

Код контроллера

$phones = Product::search($request['phone'])->get();

Теперь я хочу найти продукты в своей таблице продуктов, но TNTSearch ищет все столбцы в моих таблицах и выдает мне результат. Однако я работаю над сайтом электронной коммерции и хочу получить результаты по названию продукта, а затем по столбцу описания.

Структура моей таблицы выглядит так, как показано на рисунке ниже. введите здесь описание изображения


person Nileshsinh Rathod    schedule 24.12.2017    source источник


Ответы (1)


Для индексации specific columns вы должны установить собственный массив,

Например:

public function toSearchableArray()
    {
        $array =  [

            //'title'    => $this->title,
            'description' => $this->description
        ];

        return $array;
    }

В приведенном выше примере мы игнорируем содержимое поля заголовка для индексации и просто индексируем поле description.

person Hamed Yarandi    schedule 13.11.2018
comment
если мы хотим использовать в двух разных условиях, одно в заголовке и другое в описании, как мы это делаем? - person Harsha; 06.09.2019