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

thinkphp6 搜索功能实现

zhangsir3年前 (2023-01-09)php290

一,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版权t6防采集https://mianka.xyz

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

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

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

标签: phpthinkphp
分享给朋友:

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

php7.4 安装zip扩展包

使用宝塔环境安装php7.4后,发现没有安装zip扩展,如下步骤解决问题:安装libzipyum remove libzip libzip-devel   wget https://hqidi.com/big/libzip-1.2.0.tar.g...

swoole如何在宝塔面板上一直运行并保持进程。

下载进程守护管理器。使用进程守护管理器。就可以了。...

thinkphp6 创建自定义命令行指令

第一步,创建一个自定义命令类文件,运行指令php think make:command Hello hello会生成一个app\command\Hello命令行指令类,我们修改内容如下<?php namespace app\command;...

php怎么判断是不是手机号

php怎么判断是不是手机号肯定要用正则表达式解决了。$g = "/^1[34578]\d{9}$/"上面是正则表达式,那怎么用PHP来写呢?$g = "/^1[34578]\d{9}$/" if(preg_match(...

php 实现返回上一页

php实现返回上一页的功能的3种有效方法header(location:你的上一页的路径);   //   注意这个函数前不能有输出     header(location:.getenv(&quo...

thinkphp 利用PHPMailer三方类发送邮件

1.首先用composer下载PHPMailer,在网站根目录进入命令行输入如下命令即可composer require phpmailer/phpmailer2.然后创建文件Ma.php,填写如下代码<?php namespace app\controller...