From 393c6c8e386956d4c9fafa6f0100465d6a2b02e1 Mon Sep 17 00:00:00 2001 From: "as2252258@163.com" Date: Sun, 28 Feb 2021 00:58:56 +0800 Subject: [PATCH] modify --- Database/Traits/Builder.php | 62 +++---------------------------------- 1 file changed, 5 insertions(+), 57 deletions(-) diff --git a/Database/Traits/Builder.php b/Database/Traits/Builder.php index 3a41319a..7bd33622 100644 --- a/Database/Traits/Builder.php +++ b/Database/Traits/Builder.php @@ -122,19 +122,15 @@ trait Builder $_tmp = []; if (empty($where)) return ''; if (is_string($where)) return $where; - - var_dump($where); - - foreach ($where as $key => $value) { - if (is_string($value) || is_string($key)) { - $_value = is_string($key) ? sprintf('%s=\'%s\'', $key, $value) : $value; + if (is_string($key)) { + $_value = sprintf('%s=\'%s\'', $key, $value); + } else if (is_string($value)) { + $_value = $value; } else { - $_value = $this->conditionMap($value); + $_value = $this->_arrayMap($value, $_tmp); } - if (empty($_value)) continue; - $_tmp[] = $_value; } if (!empty($_tmp)) { @@ -144,54 +140,6 @@ trait Builder } - /** - * @param $condition - * @return string - * @throws Exception - */ - private function conditionMap($condition): string - { - $array = []; - if (is_string($condition) || empty($condition)) { - return $condition; - } - - var_dump($condition); - - foreach ($condition as $key => $value) { - $array = $this->resolve($array, $key, $value); - } - if (is_array($array)) { - return implode(' AND ', $array); - } - return $array; - } - - - /** - * @param $array - * @param $key - * @param $value - * @return mixed - * @throws NotFindClassException - * @throws ReflectionException - */ - private function resolve($array, $key, $value): mixed - { - if (empty($value)) return $array; - if (!is_numeric($key)) { - $value = is_numeric($value) ? $value : '\'' . $value . '\''; - - $array[] = sprintf("%s=%s", $key, $value); - } else if (is_array($value)) { - $array = $this->_arrayMap($value, $array); - } else { - $array[] = sprintf('%s', $value); - } - return $array; - } - - /** * @param $condition * @param $array