/ 编程 / 11 浏览

ThinkPHP5中一个字段多次模糊查询的实现方法

在ThinkPHP5中,我们经常需要对数据库进行模糊查询。在这篇文章中,我将展示如何在ThinkPHP5中实现一个字段的多次模糊查询。

首先,我们需要创建一个包含多个模糊查询条件的数组。然后,我们将使用array_unshift函数将每个条件添加到查询条件数组的开头。这样,我们就可以在一次查询中执行所有的模糊查询。

以下是具体的代码示例:


$condition = ['机械', '回收', '教育'];
// 创建查询条件
$where['ranges'] = array('or');
foreach ($condition as $value) {
array_unshift($where['ranges'], array('like', '%' . $value . '%'));
}

在上述代码中,我们首先定义了一个包含多个模糊查询条件的数组$condition。然后,我们创建了一个名为$where的数组,该数组包含一个键ranges,其值为一个数组。这个数组用于存储我们的查询条件。

接下来,我们使用foreach循环遍历$condition数组中的每个元素。对于每个元素,我们都使用array_unshift函数将其添加到$where['ranges']数组的开头。这样,我们就可以在一次查询中执行所有的模糊查询。

最后,我们可以使用$where数组来构建我们的查询。例如,如果我们想要查询所有包含"机械"或"回收"的记录,我们可以这样做:

   $result = Db::name('table_name')->where($where)->select();

在这个例子中,Db::name('table_name')表示我们要查询的表名,where($where)表示我们要应用的查询条件,select()表示我们要获取的结果。

nepiedg

0

  1. no comments.

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注