Я использую vuetify для проекта.но у меня проблема с опцией поиска, такой как автозаполнение или выпадающий список.Мне нужно создать функцию поиска, где я могу искать из таблицы базы данных, используя «Имя» из столбца имени или «контакт / номер телефона» из столбца контактов.Но у меня возникает проблема, что я могу искать, используя имя любого контакта.Когда я помещаю: item-text = "Name", он выполняет поиск по столбцу имен.
<v-combobox
v-model="searchPatients.searchInput"
:items="searchFilter"
:search-input.sync="searchPatient"
item-text="name"
item-value="name"
item-disabled
hint="Search by Contact Number"
label="Search Old Patient"
prepend-inner-icon="search"
outline
open-on-clear
>
<template v-slot:item="data">
<v-list-tile-content >
<v-list-tile-title v-html="data.item.name"></v-list-tile-title>
<v-list-tile-sub-title v-html="'Contact: ' +data.item.contact +', Age: '+ data.item.age"></v-list-tile-sub-title>
</v-list-tile-content>
<v-btn small fab dark color="cyan darken-2" slot="activator" @click="addOldPatientSchedule(data.item)">
<v-icon>add</v-icon>
</v-btn>
</template>
</v-combobox>
Но когда я помещаю: item-text = "contact", он выполняет поиск по столбцу контактов.
<v-combobox
v-model="searchPatients.searchInput"
:items="searchFilter"
:search-input.sync="searchPatient"
item-text="contact"
item-value="name"
item-disabled
hint="Search by Contact Number"
label="Search Old Patient"
prepend-inner-icon="search"
outline
open-on-clear
>
<template v-slot:item="data">
<v-list-tile-content >
<v-list-tile-title v-html="data.item.name"></v-list-tile-title>
<v-list-tile-sub-title v-html="'Contact: ' +data.item.contact +', Age: '+ data.item.age"></v-list-tile-sub-title>
</v-list-tile-content>
<v-btn small fab dark color="cyan darken-2" slot="activator" @click="addOldPatientSchedule(data.item)">
<v-icon>add</v-icon>
</v-btn>
</template>
</v-combobox>
моя логика поиска приведена ниже
searchFilter(){
return this.patientInfo.filter((getPatient) => {
return (getPatient.name.toLowerCase().match(this.searchPatient) || getPatient.contact.match(this.searchPatient))
});
}
Запрос к базе данных
$filteredPatients = Patient::where('name','like',"%$patients%")
->orWhere('contact','like',"%$patients%")
->take(10)->get();