fix:Tool类排序封装优化

This commit is contained in:
xjh 2023-04-19 09:56:30 +08:00
parent 3e6631044d
commit 62ea387d38

View File

@ -368,9 +368,9 @@ class Tool
//当前数据原信息
$original_oreder_find = $model->where($guld_field, $guid)->find();
if (!$original_oreder_find) throwErrorMsg('Tool::sortEditProc() : 找不到该数据原排序号', 444);
//查找当前数据所想更换的新排序号是否已有数据占用
//查找当前数据所想更换的新排序号是否已有数据占用(排除自己)
//已被占用,则将它们的排序号互换
if ($model->where($order_field_name, $order)->where($extra_wheres)->find()) {
if ($model->where($order_field_name, $order)->where($guld_field, '<>', $guid)->where($extra_wheres)->find()) {
$update_data = [$order_field_name => $original_oreder_find[$order_field_name]];
if (isset($model->parent_guid_field)) {
$update_data[$model->parent_guid_field] = $original_oreder_find[$model->parent_guid_field];
@ -399,7 +399,7 @@ class Tool
//排序字段名
$order_field_name = $model->order_field;
//新增数据的所属排序号已有数据占用,则腾位处理(已占用的数据及其后面所有数据一起排序号腾位+1)
if ($model->where($order)->where($wheres)->value($order_field_name) !== null) {
if ($model->where($order_field_name, $order)->where($wheres)->value($order_field_name) !== null) {
Db::name($table_name)
->where($wheres)
->where($order_field_name, '>=', $order)