TP5 查询 字符串条件如何实现 当查询条件是 (1,3,8) 数据库字段也是(2,3,4) 这种情况改如何查询呢?
时间: 2024-03-09 07:45:47 浏览: 22
在 ThinkPHP 5 中,可以使用 `exp` 方法来实现查询字符串条件。例如,如果查询条件为 `(1,3,8)`,数据库字段为 `(2,3,4)`,可以这样构建查询:
```php
$ids = '1,3,8';
$list = Db::name('table')
->where('find_in_set(field, :ids)', ['ids' => $ids])
->select();
```
其中,`find_in_set(field, :ids)` 表示在 `field` 字段中查找值为 `:ids` 的值,`:ids` 是绑定查询参数的占位符。
如果查询条件为字符串 `1,3,8`,可以使用 `exp` 方法构建查询:
```php
$ids = '1,3,8';
$list = Db::name('table')
->where('field in ' . Db::raw("( $ids )"))
->select();
```
其中,`Db::raw` 方法用于将字符串转换为原始查询语句,避免字符串中的 `,` 被解析为查询语句中的分隔符。
相关问题
TP5 查询 字符串条件如何实现 当查询条件是 (1,3,8) 被查询的值是(2,3,4),两个字符串 中有一个相同的就查出来
如果需要查询两个字符串中有一个相同的值,可以使用 `exp` 方法和 `like` 条件来构建查询。例如,如果查询条件为 `(1,3,8)`,被查询的字段为 `field`,可以这样构建查询:
```php
$ids = '1,3,8';
$list = Db::name('table')
->where(function($query) use ($ids) {
$query->where('find_in_set(field, :ids)', ['ids' => $ids])
->whereOr('field', 'like', '%,'.$ids.',%')
->whereOr('field', 'like', $ids.',%')
->whereOr('field', 'like', '%,'.$ids);
})
->select();
```
其中,`find_in_set(field, :ids)` 表示在 `field` 字段中查找值为 `:ids` 的值,`:ids` 是绑定查询参数的占位符。`whereOr` 方法用于构建或逻辑条件,`%` 表示匹配任意字符,`,` 表示逗号分隔的字符串列表中的分隔符。这样构建的查询,如果被查询的字段中包含 `(1,3,8)` 中的任意一个值或多个值,都会被查询出来。
php tp3 如何查询数据库指定字段
以TP3框架的基础模型类为例,可以使用以下代码进行指定字段查询数据库:
```php
// 指定查询字段
$field = 'id,title,content';
// 实例化模型类
$model = new Model('table_name');
// 执行查询
$data = $model->field($field)->select();
```
其中,`$field`变量是需要查询的字段,多个字段用逗号分隔。
`Model`类是TP3框架的基础模型类,用于对数据库进行操作。`new Model('table_name')`表示实例化`table_name`数据表的模型类。
`field($field)`方法用于指定查询的字段,`select()`方法用于执行查询,返回查询结果数组。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)