Rumah > rangka kerja php > Laravel > Bagaimana untuk melaksanakan pertanyaan kabur pada pelbagai medan dalam rangka kerja thinkphp

Bagaimana untuk melaksanakan pertanyaan kabur pada pelbagai medan dalam rangka kerja thinkphp

PHPz
Lepaskan: 2023-04-21 11:01:53
asal
1415 orang telah melayarinya

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;
}
Salin selepas log masuk

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');  //跳转到展示页面
}
Salin selepas log masuk

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}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan