Apabila membangunkan aplikasi web, selalunya perlu menggunakan pertanyaan kabur untuk melaksanakan fungsi carian. Apabila menggunakan rangka kerja thinkphp, pertanyaan kabur boleh dilaksanakan dengan mudah. Artikel ini akan memperkenalkan cara untuk melaksanakan pertanyaan kabur pada berbilang medan dalam rangka kerja thinkphp.
Pertama, kita perlu menentukan kaedah dalam model untuk mendapatkan hasil pertanyaan kabur. Dalam kaedah ini, kita boleh menggunakan parameter pertanyaan kabur % yang disertakan dengan thinkphp untuk melaksanakan pertanyaan kabur. Kod khusus adalah seperti berikut:
public function getFuzzySearchResult($keyword){ $result = $this->where('title', 'like', '%'.$keyword.'%') //在title字段中进行模糊查询 ->whereOr('content', 'like', '%'.$keyword.'%') //在content字段中进行模糊查询 ->select(); return $result; }
Dalam kod di atas, kami menggunakan dua syarat pertanyaan di mana dan di manaAtau. Antaranya, di mana merujuk kepada hasil pertanyaan bahawa medan yang ditentukan adalah sama dengan nilai yang ditentukan, dan whereOr merujuk kepada hasil pertanyaan bahawa medan yang ditentukan adalah sama dengan nilai yang ditentukan atau keputusan bahawa medan yang ditentukan adalah sama dengan nilai yang ditentukan. Oleh itu, dalam kod di atas, kita boleh melakukan pertanyaan kabur dalam medan tajuk dan kandungan dan menggabungkan set keputusan kembali.
Seterusnya, kami memanggil kaedah dalam pengawal dan menghantar hasil pertanyaan kepada paparan untuk paparan. Kod khusus adalah seperti berikut:
public function fuzzySearch(){ $keyword = input('keyword'); //获取搜索关键字 $model = new Article(); //实例化模型 $result = $model->getFuzzySearchResult($keyword); //获取模糊查询结果 $this->assign('result', $result); //将结果传递给视图 return $this->fetch('search_result'); //跳转到展示页面 }
Dalam kod di atas, kami mula-mula mendapatkan kata kunci carian dan membuat model. Kemudian panggil kaedah getFuzzySearchResult yang ditakrifkan dalam model untuk mendapatkan hasil pertanyaan kabur. Akhir sekali, hantar keputusan ke paparan dan lompat ke halaman paparan.
Akhir sekali, kami memaparkan hasil pertanyaan kabur dalam paparan. Kod khusus adalah seperti berikut:
{if $result} {foreach $result as $item} <div class="article-item"> <div class="title">{$item.title}</div> <div class="content">{$item.content}</div> </div> {/foreach} {else} <div class="no-result">没有搜索结果哦~</div> {/if}
Dalam kod di atas, kami mula-mula menentukan sama ada hasil carian kosong Jika ia tidak kosong, kemudian gunakan gelung foreach untuk memaparkan setiap hasil kosong, pengguna digesa bahawa tiada hasil Carian.
Melalui kaedah di atas, kita boleh melaksanakan fungsi pertanyaan kabur berbilang medan dalam rangka kerja thinkphp. Terima kasih semua kerana membaca, saya harap ia akan membantu perkembangan sebenar.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pertanyaan kabur pada pelbagai medan dalam rangka kerja thinkphp. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!