在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()
表示我们要获取的结果。
0