thinkphp实现like模糊查询实例

下面是“thinkphp实现like模糊查询实例”的完整攻略。

下面是“thinkphp实现like模糊查询实例”的完整攻略。

1. 创建模型

在ThinkPHP中,我们需要使用模型来完成对表的操作。在本实例中,我们需要创建一个专门用来处理like模糊查询的模型。

<?php
namespace app\index\model;
use think\Model;

class Article extends Model
{
    // 定义需要进行模糊查询的字段
    protected $likeField = ['title', 'content'];

    public function search($keyword)
    {
        // 使用模糊查询的方式
        $map = [];
        foreach ($this->likeField as $field) {
            $map[$field] = ['like', "%$keyword%"];
        }
        $result = $this->whereOr($map)->select();

        return $result;
    }
}

通过定义$search()方法,我们可以方便地进行模糊查询操作。$likeField变量用来存储需要进行模糊查询的字段,这里我们假设我们需要查询文章标题和内容。$map变量则是用来存储查询条件,最后使用whereOr方法将所有的条件组合起来,进行查询操作。

2. 使用模型进行查询

在模板中,我们可以通过使用模型的实例来进行查询操作。下面是一个简单的示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>搜索结果</title>
</head>
<body>
    <h1>搜索结果</h1>
    <ul>
        <?php foreach ($result as $article): ?>
        <li>
            <h2><?php echo $article->title;?></h2>
            <p><?php echo $article->content;?></p>
        </li>
        <?php endforeach;?>    
    </ul>
</body>
</html>

在这个模板中,我们使用foreach循环遍历查询结果,并将查询结果输出到页面上。

3. 调用模型查询方法

在控制器中,我们可以调用模型的$search()方法,来完成对文章的模糊查询操作。下面是一个简单的示例:

<?php
namespace app\index\controller;
use think\Controller;
use app\index\model\Article;

class Index extends Controller
{
    public function index()
    {
        // 调用Article模型的search方法进行查询
        $keyword = $this->request->get('keyword');
        $article = new Article();
        $result = $article->search($keyword);

        // 将查询结果传递到视图模板中
        $this->assign('result', $result);

        // 输出视图模板
        return $this->fetch('index');
    }
}

在控制器中,我们首先获取到用户输入的关键字$keyword,然后创建Article模型的实例$article,调用$article->search()方法完成对文章的模糊查询。最后,将查询结果传递到视图模板中,并输出到页面上。

以上是thinkphp实现like模糊查询实例的完整攻略,其中包含了模型的创建、渲染页面以及调用模型查询方法的示例说明。

本文标题为:thinkphp实现like模糊查询实例

基础教程推荐