tp5 like模糊查询
时间: 2024-01-20 11:16:50 浏览: 34
以下是两种TP5中进行like模糊查询的例子:
1. 使用数组方式进行like模糊查询:
```php
Db::table('think_user')
->where([
['name', 'like', $name . '%'],
['title', 'like', '%' . $title],
['id', '>', $id],
['status', '=', $status],
])
->select();
```
2. 使用数组方式和exp查询进行like模糊查询:
```php
Db::table('think_user')
->where([
['name', 'like', 'thinkphp%'],
['title', 'like', '%thinkphp'],
['id', 'exp', Db::raw('>score')],
['status', '=', 1],
])
->select();
```
相关问题
tp5 where多条件查询
TP5中的where多条件查询可以使用闭包子查询和链式查询两种方式实现。下面是两种方式的示例代码:
1. 闭包子查询方式
```php
// 使用闭包子查询方式实现where多条件查询
$map = function ($query) {
$query->where('a', 'like', '%thinkphp%')
->whereOr('a', 'like', '%tp')
->where(function ($query) {
$query->where('b', 'not like', '%thinkphp%')
->where('b', 'not like', '%tp');
});
};
$result = Db::name('table')->where($map)->select();
```
2. 链式查询方式
```php
// 使用链式查询方式实现where多条件查询
$result = Db::name('table')
->where('a', 'like', '%thinkphp%')
->whereOr('a', 'like', '%tp')
->where('b', 'not like', '%thinkphp%')
->where('b', 'not like', '%tp')
->select();
```
tp5 where数组查询
在TP5中,如果想要进行where条件查询,可以使用where方法和whereRaw方法。其中where方法可以接收一个数组作为参数,数组中的每个键值对都表示一个条件,例如:
```php
$where = [
'name' => 'Tom',
'age' => 20,
'gender' => 'male'
];
$result = Db::table('user')->where($where)->select();
```
上述代码表示查询user表中name为Tom、age为20、gender为male的记录。
如果需要使用原生SQL语句作为查询条件,可以使用whereRaw方法,例如:
```php
$where = 'name = ? and age > ?';
$params = ['Tom', 20];
$result = Db::table('user')->whereRaw($where, $params)->select();
```
上述代码表示查询user表中name为Tom且age大于20的记录。其中第一个参数为原生SQL语句,第二个参数为预处理参数,可以避免SQL注入问题。