改进软删除

This commit is contained in:
thinkphp
2017-02-09 19:12:45 +08:00
parent 1e1f36eb40
commit 2c0ee2f616
5 changed files with 9 additions and 1 deletions

View File

@@ -38,6 +38,8 @@ class Mysql extends Builder
list($table, $key) = explode('.', $key, 2);
if (isset($options['alias'][$table])) {
$table = $options['alias'][$table];
} elseif ('__TABLE__' == $table) {
$table = $this->query->getTable();
}
}
if (!preg_match('/[,\'\"\*\(\)`.\s]/', $key)) {

View File

@@ -57,6 +57,8 @@ class Pgsql extends Builder
list($table, $key) = explode('.', $key, 2);
if (isset($options['alias'][$table])) {
$table = $options['alias'][$table];
} elseif ('__TABLE__' == $table) {
$table = $this->query->getTable();
}
}
if (isset($table)) {

View File

@@ -62,6 +62,8 @@ class Sqlite extends Builder
list($table, $key) = explode('.', $key, 2);
if (isset($options['alias'][$table])) {
$table = $options['alias'][$table];
} elseif ('__TABLE__' == $table) {
$table = $this->query->getTable();
}
}
if (isset($table)) {

View File

@@ -75,6 +75,8 @@ class Sqlsrv extends Builder
list($table, $key) = explode('.', $key, 2);
if (isset($options['alias'][$table])) {
$table = $options['alias'][$table];
} elseif ('__TABLE__' == $table) {
$table = $this->query->getTable();
}
}
if (!is_numeric($key) && !preg_match('/[,\'\"\*\(\)\[.\s]/', $key)) {

View File

@@ -142,7 +142,7 @@ trait SoftDelete
{
$field = isset($this->deleteTime) ? $this->deleteTime : 'delete_time';
if (!strpos($field, '.')) {
$field = $this->db(false)->getTable() . '.' . $field;
$field = '__TABLE__.' . $field;
}
if (!$read && strpos($field, '.')) {
$array = explode('.', $field);