dever 3 лет назад
Родитель
Сommit
dff340920a
1 измененных файлов с 12 добавлено и 2 удалено
  1. 12 2
      src/Database.php

+ 12 - 2
src/Database.php

@@ -2273,7 +2273,12 @@ class Database
                     # 处理同步
                     if (isset($vi['sync']) && strpos($ki, '-')) {
                         $temp = explode('-', $ki);
-                        $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $vi['sync'][1] => $v[$vi['sync'][0]]));
+                        if ($v[$vi['sync'][0]] > 0) {
+                            $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $vi['sync'][1] => $v[$vi['sync'][0]]));
+                        } else {
+                            $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $vi['sync'][2] => $v[$vi['sync'][2]], 'option_' . $vi['sync'][3] => $v[$vi['sync'][0]]));
+                        }
+                        
                         $data[$k][$ki] = $v[$ki] = isset($load[$temp[2]]) ? $load[$temp[2]] : $vi['default'];
                     }
 
@@ -2991,7 +2996,12 @@ class Database
             # 处理同步
             if (isset($param['sync']) && isset($data[$param['sync'][0]]) && strpos($key, '-')) {
                 $temp = explode('-', $key);
-                $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $param['sync'][1] => $data[$param['sync'][0]]));
+                if ($v[$vi['sync'][0]] > 0) {
+                    $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $param['sync'][1] => $data[$param['sync'][0]]));
+                } else {
+                    $load = Dever::load($temp[0] . '/' . $temp[1] . '-one', array('option_' . $param['sync'][2] => $data[$param['sync'][2]], 'option_' . $param['sync'][3] => $data[$param['sync'][0]]));
+                }
+
                 $param['value'] = isset($load[$temp[2]]) ? $load[$temp[2]] : $param['default'];
             }