当前位置:首页 > php > 正文内容

thinkphp6 搜索功能实现

zhangsir3年前 (2023-01-09)php237

一,thinkphp6搜索功能实现

1创建模型(例如User模型)

模型类函数的命名规范:searchFieldNameAttr,FieldName根据自己的需要随意命名。例如下面的searchNameAttr。

<?php
namespace app\model;

use think\Model;

class User extends Model 
{
    public function searchNameAttr($query, $value, $data)
    {
            //name字段的模糊查询
        $query->where('name','like', '%' . $value . '%');
    }
    
    public function searchCreateTimeAttr($query, $value, $data)
    {
            //添加时间字段的限制条件
        $query->whereBetweenTime('create_time', $value[0], $value[1]);
    }    
}

2控制器

User::withSearch(['name','create_time'], [ 'name' => 'think',     'create_time' => ['2018-8-1','2018-8-5'],        'status' => 1    ]) ->select();


User::withSearch(['name','create_time'], [
        'name'=>'think',
        'create_time'=>['2018-8-1','2018-8-5'],
        'status'=>1
    ])
->select();

注解:User::withSearch是使用thinkphp6的搜索器触发方法,['name','create_time']是上面User模型类的searchNameAttr和searchCreateTimeAttr函数,['name'=>'think','create_time' =>['2018-8-1','2018-8-5'],status'=>1]是参数。


官方搜索器文档

zhangsir版权a1防采集https://mianka.xyz

扫描二维码推送至手机访问。

版权声明:本文由zhangsir or zhangmaam发布,如需转载请注明出处。

本文链接:https://www.mianka.xyz/post/94.html

标签: phpthinkphp
分享给朋友:

“thinkphp6 搜索功能实现” 的相关文章

迅睿cms 通用分页样式代码分享,复制粘帖即可

{module catid=$catid  order=updatetime page=1 join=1_news_category_data on=id}       &nbs...

PHP下载中文名称的文件,文件名乱码的解决方法!

PHP中,如果要下载的文件名称为中文,则会出现文件标题乱码。此时就需要对标题进行编码,也就是说先进性urlencode,然后再放入header,然后问题就解决了。$filename = urlencode("下载文档"); header (&nbs...

thinkphp 使用Filesystem类提示未找到Filesystem类

这是因为thinkphp官方升级了thinkphp版本的原因,只需要更新Filesystem类就行了更新命令行如下:composer require topthink/think-filesystem 1.0.1...

php 判断当前请求是http请求还是https请求!

php判断http请求还是https请求$http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on'...

PHP数组转字符串

在PHP中,可以使用implode()函数将一个数组转换为一个字符串。implode()函数接受两个参数,第一个参数是用于连接数组元素的字符串,第二个参数是要转换的数组。例如:$array = array('apple', 'banana'...