thinkphp where数组多条件搜索
在ThinkPHP中,可以使用where
方法结合数组来实现多条件搜索。以下是一个示例代码,假设我们有一个User
模型,我们想要根据用户名和邮箱进行搜索:
// 假设$username和$email是传入的搜索参数
$username = input('get.username', '', 'trim');
$email = input('get.email', '', 'trim');
// 构建查询条件数组
$where = [];
if (!empty($username)) {
$where['username'] = ['like', '%' . $username . '%'];
}
if (!empty($email)) {
$where['email'] = ['like', '%' . $email . '%'];
}
// 使用User模型进行查询
$users = model('User')->where($where)->select();
// 输出结果
dump($users);
在这个例子中,我们首先根据传入的参数构建了一个查询条件数组$where
。如果用户名参数不为空,我们添加一个用户名的搜索条件到数组中;如果邮箱参数不为空,我们添加一个邮箱的搜索条件到数组中。最后,我们使用where
方法将这个数组应用到查询中,并执行select
方法来获取结果。