rabin 2 years ago
parent
commit
22c8b4fd50
1 changed files with 30 additions and 25 deletions
  1. 30 25
      src/Database.php

+ 30 - 25
src/Database.php

@@ -1924,39 +1924,44 @@ class Database
                         $col = $config['manage']['search']['api'][$k]['col'];
                         $v = ltrim($v);
                         $v = rtrim($v);
-                        $option = array($col => $v);
-                        $v = Dever::load($config['manage']['search']['api'][$k]['api'], $option);
-                        $result = $config['manage']['search']['api'][$k]['result'];
-                        if ($v && is_array($v)) {
-                            if (isset($v[$result])) {
-                                $v = $v[$result];
-                            } else {
-                                if ($result == 'id') {
-                                    $v = array_keys($v);
+                        if ($v == 'no') {
+                            $param['option_no'] = $config['manage']['search']['api'][$k]['no'];
+                        } else {
+                            $option = array($col => $v);
+                            $v = Dever::load($config['manage']['search']['api'][$k]['api'], $option);
+                            $result = $config['manage']['search']['api'][$k]['result'];
+                            if ($v && is_array($v)) {
+                                if (isset($v[$result])) {
+                                    $v = $v[$result];
                                 } else {
-                                    $t = array();
-                                    foreach ($v as $k1 => $v1) {
-                                        $t[] = $v1[$result];
+                                    if ($result == 'id') {
+                                        $v = array_keys($v);
+                                    } else {
+                                        $t = array();
+                                        foreach ($v as $k1 => $v1) {
+                                            $t[] = $v1[$result];
+                                        }
+                                        $v = $t;
+                                    }
+                                    if (isset($config['manage']['search']['api'][$k]['search'])) {
+                                        $param['option'][$config['manage']['search']['api'][$k]['search']] = array('yes', 'in');
+                                    } else {
+                                        $param['option'][$k] = array('yes', 'in');
                                     }
-                                    $v = $t;
-                                }
-                                if (isset($config['manage']['search']['api'][$k]['search'])) {
-                                    $param['option'][$config['manage']['search']['api'][$k]['search']] = array('yes', 'in');
-                                } else {
-                                    $param['option'][$k] = array('yes', 'in');
                                 }
+                            } else {
+                                $v = '-100';
                             }
-                        } else {
-                            $v = '-100';
                         }
                     }
 
-                    if (isset($config['manage']['search']['api'][$k]['search'])) {
-                        $param['option_' . $config['manage']['search']['api'][$k]['search']] = $v;
-                    } else {
-                        $param['option_' . $k] = $v;
+                    if (!isset($param['option_no'])) {
+                        if (isset($config['manage']['search']['api'][$k]['search'])) {
+                            $param['option_' . $config['manage']['search']['api'][$k]['search']] = $v;
+                        } else {
+                            $param['option_' . $k] = $v;
+                        }
                     }
-                    
                 }
             }
         }