This commit is contained in:
as2252258@163.com
2021-07-03 16:18:20 +08:00
parent 2c37c5c494
commit 0466268ac8
2 changed files with 11 additions and 12 deletions
+3 -3
View File
@@ -734,16 +734,16 @@ abstract class BaseActiveRecord extends Component implements IOrm, ArrayAccess
}
if (str_starts_with($table, $tablePrefix)) {
return '`' . static::getDbName() . '`.' . $table;
return $table;
} else if (!str_starts_with($table, '{{%')) {
return '`' . static::getDbName() . '`.' . $table;
return $table;
}
$table = trim($table, '{{%}}');
if ($tablePrefix) {
$table = $tablePrefix . $table;
}
return '`' . static::getDbName() . '`.' . $table;
return $table;
}
+8 -9
View File
@@ -265,15 +265,14 @@ class Connection extends Component
*/
public function createCommand($sql = null, $dbname = '', array $attributes = []): Command
{
// $substr = strtoupper(substr($sql, 0, 6));
// $sql = match ($substr) {
// 'SELECT', 'SHOW F', 'DELETE' => preg_replace('/FROM\s+(\w+)\s+/', 'FROM `' . $dbname . '`.$1 ', $sql),
// 'UPDATE' => preg_replace('/UPDATE\s+(\w+)\s+SET/', 'UPDATE `' . $dbname . '`.$1 SET', $sql),
// 'INSERT' => preg_replace('/INSERT INTO\s+(\w+)/', 'INSERT INTO `' . $dbname . '`.$1', $sql),
// 'TRUNCA' => preg_replace('/TRUNCATE\s+(\w+)\s+/', 'TRUNCATE `' . $dbname . '`.$1', $sql),
// default => throw new Exception('database error')
// };
$substr = strtoupper(substr($sql, 0, 6));
$sql = match ($substr) {
'SELECT', 'SHOW F', 'DELETE' => preg_replace('/FROM\s+(\w+)\s+/', 'FROM `' . $dbname . '`.$1 ', $sql),
'UPDATE' => preg_replace('/UPDATE\s+(\w+)\s+SET/', 'UPDATE `' . $dbname . '`.$1 SET', $sql),
'INSERT' => preg_replace('/INSERT INTO\s+(\w+)/', 'INSERT INTO `' . $dbname . '`.$1', $sql),
'TRUNCA' => preg_replace('/TRUNCATE\s+(\w+)\s+/', 'TRUNCATE `' . $dbname . '`.$1', $sql),
default => throw new Exception('database error')
};
$command = new Command(['db' => $this, 'sql' => $sql]);
return $command->bindValues($attributes);
}