TP6.0 模型搜索器
2024-08-24
46
搜索器用于封装字段的查询条件表达式,一个搜索器对应一个特殊的方法
1. 搜索器方法命名规范
a. 必须是
public
访问类型b. 方法名为:searchFieldName
Attr
FieldName
为数据表字段名的小驼峰转换
2. 模型查询调用获取器(数据库查询无法使用)
withSearch()
第一参数为索引数组:指定调用的获取器第二参数为关联数组:搜索条件(字段对应的值)$data = User::order('id asc')
->withSearch(['username', 'email', 'gender'], [
'username' => input('get.username', '', 'trim'),
'email' => input('get.email', '', 'trim'),
'gender' => input('get.gender', '', 'trim'),
])
->paginate([
'list_rows' => 10,
'query' => input('get.'),
]);
默认查询条件是 =
, 上面查询条件相当于以下条件
where([
'username' => input('get.username', '', 'trim'),
'email' => input('get.email', '', 'trim'),
'gender' => input('get.gender', '', 'trim'),
])
可通过定义搜索器方法改变默认的 =
条件
更新于:2个月前<?php
namespace app\model;
use think\Model;
class User extends Model
{
####### 搜索器 #######
public function searchUsernameAttr($query, $value, $data)
{
if ($value != '') {
$query->whereLike('username', '%' . $value . '%');
}
}
}
赞一波!4
相关文章
- 【说站】java并发模型中的两种锁
- 【说站】java内存模型的组成
- 【说站】Java内存模型的并发处理
- java 安全沙箱模型详解
- TP6.0 模型获取器
- TP6.0 模型的关联删除
- TP6.0 搜索器使用示例
- TP6.0 模型JSON字段的使用 【系统配置表 key-value】
- TP6.0 一对一模型关联 belongsTo 相对关联(反向关联)
- TP6.0 一对一模型关联 hasOne
- TP6模型类在PhpStorm中没有方法提示
- ThinkPHP6.0 模型搜索器的使用
- 如何在 Django 中创建抽象模型类?
- 区块链模型解析:公有链、私有链与联盟链全面解读
- 订单履约系统的概念模型
- 使用Java编写一个简易的区块链概念模型代码
- 在Windows PC本地搭建类似ChatGPT的AI模型和交互式UI图文教程
- 特征工程:从数据到模型的桥梁——提升机器学习模型性能的关键步骤
- 谷歌推出交互生成式Genie模型可以创造2D交互游戏画面
- 大分类显示自定义模型字段的方法
文章评论
评论问答