作者 lyh

gxAiblog自动发布

@@ -147,17 +147,20 @@ class lyhDemo extends Command @@ -147,17 +147,20 @@ class lyhDemo extends Command
147 ->pluck('column_name') 147 ->pluck('column_name')
148 ->toArray(); 148 ->toArray();
149 149
150 - // 字段更新  
151 foreach ($columns as $field) { 150 foreach ($columns as $field) {
152 $sqlField = "`$field`"; 151 $sqlField = "`$field`";
153 - $updateExpr = $sqlField; 152 + $lowerField = "LOWER($sqlField)";
  153 + $updateExpr = $lowerField;
154 154
155 foreach ($brands as $brand) { 155 foreach ($brands as $brand) {
156 - $safeBrand = addslashes($brand);  
157 - $updateExpr = "REPLACE(REPLACE($updateExpr, '$safeBrand-', ''), '$safeBrand', '')"; 156 + $brandLower = strtolower(addslashes($brand));
  157 + $updateExpr = "REPLACE(REPLACE($updateExpr, '{$brandLower}-', ''), '{$brandLower}', '')";
158 } 158 }
  159 + // 替换后要保留原字段大小写格式,这里通过 CASE WHEN 判断是否替换,再更新原字段
  160 + $sql = "UPDATE `$table`
  161 + SET $sqlField = $updateExpr
  162 + WHERE $sqlField IS NOT NULL AND $sqlField != ''";
159 163
160 - $sql = "UPDATE `$table` SET $sqlField = $updateExpr WHERE $sqlField IS NOT NULL AND $sqlField != ''";  
161 echo "执行字段:$field" . PHP_EOL; 164 echo "执行字段:$field" . PHP_EOL;
162 $connection->update($sql); 165 $connection->update($sql);
163 } 166 }