$whereFields) { switch ($whereType) { case '=': case '<>': case '>': case '>=': case '<': case '<=': case 'in': foreach ($whereFields as $whereField) { $paramsName = substr_symbol_behind($whereField); if (!isset($this->params[$paramsName]) || $this->params[$paramsName] == '') { continue; } $where[] = [$whereField, $whereType, $this->params[$paramsName]]; } break; case '%like%': foreach ($whereFields as $whereField) { $paramsName = substr_symbol_behind($whereField); if (!isset($this->params[$paramsName]) || empty($this->params[$paramsName])) { continue; } $where[] = [$whereField, 'like', '%' . $this->params[$paramsName] . '%']; } break; case '%like': foreach ($whereFields as $whereField) { $paramsName = substr_symbol_behind($whereField); if (!isset($this->params[$paramsName]) || empty($this->params[$paramsName])) { continue; } $where[] = [$whereField, 'like', '%' . $this->params[$paramsName]]; } break; case 'like%': foreach ($whereFields as $whereField) { $paramsName = substr_symbol_behind($whereField); if (!isset($this->params[$paramsName]) || empty($this->params[$paramsName])) { continue; } $where[] = [$whereField, 'like', $this->params[$paramsName] . '%']; } break; case 'between_time': if (!is_numeric($this->startTime) || !is_numeric($this->endTime)) { break; } $where[] = [$whereFields, 'between', [$this->startTime, $this->endTime]]; break; case 'between': if (empty($this->start) || empty($this->end)) { break; } $where[] = [$whereFields, 'between', [$this->start, $this->end]]; break; case 'find_in_set': // find_in_set查询 foreach ($whereFields as $whereField) { $paramsName = substr_symbol_behind($whereField); if (!isset($this->params[$paramsName]) || $this->params[$paramsName] == '') { continue; } $where[] = [$whereField, 'find in set', $this->params[$paramsName]]; } break; } } return $where; } }