mirror of
https://gitee.com/fastadminnet/framework.git
synced 2026-07-08 23:52:49 +08:00
改进Query类
This commit is contained in:
@@ -88,7 +88,7 @@ abstract class Builder
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取绑定信息
|
// 获取绑定信息
|
||||||
$bind = $this->query->getFieldsBind($options);
|
$bind = $this->query->getFieldsBind($options['table']);
|
||||||
if ('*' == $options['field']) {
|
if ('*' == $options['field']) {
|
||||||
$fields = array_keys($bind);
|
$fields = array_keys($bind);
|
||||||
} else {
|
} else {
|
||||||
@@ -226,7 +226,7 @@ abstract class Builder
|
|||||||
// 附加软删除条件
|
// 附加软删除条件
|
||||||
list($field, $condition) = $options['soft_delete'];
|
list($field, $condition) = $options['soft_delete'];
|
||||||
|
|
||||||
$binds = $this->query->getFieldsBind($options);
|
$binds = $this->query->getFieldsBind($options['table']);
|
||||||
$whereStr = $whereStr ? '( ' . $whereStr . ' ) AND ' : '';
|
$whereStr = $whereStr ? '( ' . $whereStr . ' ) AND ' : '';
|
||||||
$whereStr = $whereStr . $this->parseWhereItem($field, $condition, '', $options, $binds);
|
$whereStr = $whereStr . $this->parseWhereItem($field, $condition, '', $options, $binds);
|
||||||
}
|
}
|
||||||
@@ -251,7 +251,7 @@ abstract class Builder
|
|||||||
}
|
}
|
||||||
|
|
||||||
$whereStr = '';
|
$whereStr = '';
|
||||||
$binds = $this->query->getFieldsBind($options);
|
$binds = $this->query->getFieldsBind($options['table']);
|
||||||
foreach ($where as $key => $val) {
|
foreach ($where as $key => $val) {
|
||||||
$str = [];
|
$str = [];
|
||||||
foreach ($val as $field => $value) {
|
foreach ($val as $field => $value) {
|
||||||
@@ -725,7 +725,7 @@ abstract class Builder
|
|||||||
{
|
{
|
||||||
// 获取合法的字段
|
// 获取合法的字段
|
||||||
if ('*' == $options['field']) {
|
if ('*' == $options['field']) {
|
||||||
$fields = array_keys($this->query->getFieldsType($options));
|
$fields = array_keys($this->query->getFieldsType($options['table']));
|
||||||
} else {
|
} else {
|
||||||
$fields = $options['field'];
|
$fields = $options['field'];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1776,21 +1776,21 @@ class Query
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取当前数据表字段信息
|
// 获取当前数据表字段信息
|
||||||
public function getTableFields($options)
|
public function getTableFields($table = '')
|
||||||
{
|
{
|
||||||
return $this->getTableInfo($options['table'], 'fields');
|
return $this->getTableInfo($table ?: $this->getOptions('table'), 'fields');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取当前数据表字段类型
|
// 获取当前数据表字段类型
|
||||||
public function getFieldsType($options)
|
public function getFieldsType($table = '')
|
||||||
{
|
{
|
||||||
return $this->getTableInfo($options['table'], 'type');
|
return $this->getTableInfo($table ?: $this->getOptions('table'), 'type');
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取当前数据表绑定信息
|
// 获取当前数据表绑定信息
|
||||||
public function getFieldsBind($options)
|
public function getFieldsBind($table = '')
|
||||||
{
|
{
|
||||||
$types = $this->getFieldsType($options);
|
$types = $this->getFieldsType($table);
|
||||||
$bind = [];
|
$bind = [];
|
||||||
if ($types) {
|
if ($types) {
|
||||||
foreach ($types as $key => $type) {
|
foreach ($types as $key => $type) {
|
||||||
|
|||||||
Reference in New Issue
Block a user