首页后端开发JAVAtp5 传参闭包查询+tp5中的where与whereor怎么同时使用

tp5 传参闭包查询+tp5中的where与whereor怎么同时使用

时间2023-03-27 16:19:26发布访客分类JAVA浏览709
导读:本案例实现了,单字段多搜索词模糊匹配查询和多字段同个搜索词模糊匹配查询,或的关系在thinkPHP模型查询中,一般有两种方式:数组方式和闭包方式,相对于数组方式只能定义查询条件,闭包方式可以支持更多的连贯操作,包括排序,数量限制等。在thi...

本案例实现了,单字段多搜索词模糊匹配查询和多字段同个搜索词模糊匹配查询,或的关系

在thinkPHP模型查询中,一般有两种方式:数组方式和闭包方式,相对于数组方式只能定义查询条件,闭包方式可以支持更多的连贯操作,包括排序,数量限制等。

在thinkPHP闭包查询中通常使用use进行参数传递

普通闭包查询:

items=ItemModel::all(function(query){

带参数的闭包查询:

items=ItemModel::all(function(query)use(

query-> where(‘type’,

} )

tp5中的where与whereor同时使用一:

data = db(‘table’)-> where(function(

$query-> where(‘key1’, value)-> whereor(‘key1’,value1);

} )-> where([‘key2’=> value2,’key3’=> value3])-> field(‘key4’)-> find();

生成的sql语句为:

find key4 FROM `table` WHERE  (  `key1` = ‘value’ OR `key1` = ‘value1’ ) and  `key2` = ‘value2’

and ‘key3’ = ‘value3’;

二:

data = db(‘table’)-> where(function(

$query-> where(‘key1’, value)-> whereor(‘key1’,value1);

} )-> whereor(function($query){

$query-> where([‘key2’=> value2]-> whereor([‘key3’=> value3]))

} )-> field(‘key4’)-> find();

find ‘key4’ FROM `table` WHERE  (  `key1` = value OR `key1` = value1 )

OR (  `key2` = ‘value2’ OR `key3` = ‘value3’ )

实际场景

tp5 使用数组查询时,一个字段有多个搜索词时的写法

场景一  一个字段多个搜索错 $option[‘question’]=[ [‘like’,’%’.’乐刷’.’%’], [‘like’,’%’.’666′.’%’], ‘or’ ];   //测试可行,

分词查询(多条件模糊查询)在讯宝实现了

场景二—–多个字段同时匹配查询或语法 whereor闭包查询,云笔记项目搜索接口有案例 list1=Db::name(‘user_biji’)-> page(query)use(keyword){ query-> whereor(‘title’,’like’,”%

未经允许不得转载:肥猫博客 » tp5 传参闭包查询+tp5中的where与whereor怎么同时使用

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

编程算法thinkphp

若转载请注明出处: tp5 传参闭包查询+tp5中的where与whereor怎么同时使用
本文地址: https://pptw.com/jishu/516.html
CVE-2021-44731 linux snap 本地提权漏洞分析 TP5.0、TP5.1、TP6.0 下载方式及环境要求

游客 回复需填写必要信息