首页 > 编程语言 >ThinkPHP6.0 模型搜索器的使用

ThinkPHP6.0 模型搜索器的使用

时间:2023-02-04 15:23:32浏览次数:67  
标签:name 搜索器 模型 value ThinkPHP6.0 searchNameAttr query data

搜索器用于封装查询条件表达式,必须在模型中定义,只有使用模型操作数据时才能用搜索器。调用搜索器时使用的是数据表字段,可以不用定义搜索器方法,默认是 = 条件;如果不是数据表字段,必须定义对应的搜索器方法。

1. 调用搜索器


直接调用,默认查询条件是 =

  1. UserModel::withSearch(['name'], ['name' => '张三'])
  2. ->fetchSql(true)
  3. ->select();
  1. SELECT * FROM `user` WHERE `name` = '张三'

在模型中自定义搜索器方法,改变默认的 =

  1. <?php
  2. namespace app\index\model;
  3. class User extends \think\Model
  4. {
  5. public function searchNameAttr($query, $value, $data)
  6. {
  7. $query->where('name','like', $value . '%');
  8. }
  9. }
  1. UserModel::withSearch(['name'], ['name' => '张三'])
  2. ->fetchSql(true)
  3. ->select();
  1. SELECT * FROM `user` WHERE `name` LIKE '张三%'

2. 搜索器方法的三个参数 searchNameAttr($query, $value, $data)


  • $query: think\db\Query 对象,用于链接操作
  • $value:withSearch() 第二个参数中当前搜索器字段对应的值
  • $data:withSearch() 第二个参数的值

可以直接在搜索器方法中打印参数,看看到底是个啥

站长源码网
  1. <?php
  2. namespace app\index\model;
  3. class User extends \think\Model
  4. {
  5. public function searchNameAttr($query, $value, $data)
  6. {
  7. halt($query, $value, $data);
  8. $query->where('name','like', $value . '%');
  9. }
  10. }

标签:name,搜索器,模型,value,ThinkPHP6.0,searchNameAttr,query,data
From: https://www.cnblogs.com/10zhan/p/17091540.html

相关文章

  • 解读测试能力素质模型
    软件测试的能力素质模型(JobModel),是对不同层级测试工程的能力要求进行明确的定义。目的是为了对每位工程师的能力进行科学的评估,然后分配合理的工作,也帮助大家明确职......
  • AspNet Core两种托管模型
    AspNetCore两种托管模型ASPNETCore运行机制......
  • 数字三角形模型
    AcWing1015.摘花生理解属于数字三角形问题中最简单的一种,即给出矩阵然后计算从起始点到最终点(最大/最小)价值此题是计算最大值,只需把f数组初始化为0,然后根据最后一步是......
  • 【笔记】阅读姜启源《数学模型》(烂尾版)
    1.三个引例(1)椅子怎么放平(2)安全渡河(多步决策)(3)药物中毒(线性微分方程) 2.初等模型(1)光盘的数据容量(螺旋线)(2)双层玻璃窗(热传导)(3)划艇比赛的成绩与桨手数量的关系(4)实物交......
  • NLP之预训练语言模型GPT
    目录1引言GPT适配下游任务GPT代码例子调用huggingface的模型微调用在其他任务上1引言在自然语言处理领域中,预训练模型通常指代的是预训练语言模型。广义上的预训练语言模......
  • Portfolio View | 信用组合观点模型 Credit Portfolio View | 麦肯锡(Mckinsey) | 蒙
    Portfolioview-搜索https://cn.bing.com/search?q=Portfolio+view&aqs=edge..69i57&FORM=BESBTB&PC=U531信用组合观点模型_百度百科https://baike.baidu.com/item/信......
  • 面试官:什么是双亲委派模型?
    双亲委派模型是Java类加载器的一种工作模式,通过这种工作模式,Java虚拟机将类文件加载到内存中,这样就保证了Java程序能够正常的运行起来。那么双亲委派模型究竟说的是啥......
  • Linux五大网络模型之I/O多路复用浅入深出
    网上寻得一篇讲解LinuxI/O模型很好的文章,特此引用。文章摘录自:https://new.qq.com/rain/a/20210610A05G9600正文:基本概念我们先来了解几个基本概念。什么是I/O?所谓......
  • Matlab中的偏最小二乘法(PLS)回归模型,离群点检测和变量选择|附代码数据
    全文下载:http://tecdat.cn/?p=22319最近我们被客户要求撰写关于PLS的研究报告,包括一些图形和统计输出。本文建立偏最小二乘法(PLS)回归(PLSR)模型,以及预测性能评估。为了建立......
  • R语言LME4混合效应模型研究教师的受欢迎程度|附代码数据
    全文链接:http://tecdat.cn/?p=11724最近我们被客户要求撰写关于混合效应模型的研究报告,包括一些图形和统计输出。文中本教程对多层_回归_模型进行了基本介绍介绍本教程......