From 987d9ccac0959f0a9ff4ba781934cf2ef69a63b6 Mon Sep 17 00:00:00 2001 From: yin Date: Tue, 12 Jan 2016 22:58:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E9=AA=8C=E8=AF=81=E5=8D=95?= =?UTF-8?q?=E4=B8=80=E5=AD=97=E6=AE=B5=E6=97=B6=E5=9B=9E=E8=B0=83=E5=8F=82?= =?UTF-8?q?=E6=95=B00=E4=B9=9F=E8=A2=AB=E8=BD=AC=E6=88=90=E6=95=B0?= =?UTF-8?q?=E7=BB=84=E7=9A=84=E9=97=AE=E9=A2=98.=20=E5=9B=9E=E8=B0=83?= =?UTF-8?q?=E5=8F=82=E6=95=B00,=20=E5=9C=A8=E5=8D=95=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=AA=8C=E8=AF=81=E6=97=B6=E5=BA=94=E4=B8=BA=E5=AF=B9=E5=BA=94?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E7=9A=84=E5=80=BC,=20=E5=A4=9A=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=E6=97=B6=E6=89=8D=E4=B8=BA=E6=95=B0=E7=BB=84=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/traits/model/Auto.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/library/traits/model/Auto.php b/library/traits/model/Auto.php index e02add83..ef961572 100644 --- a/library/traits/model/Auto.php +++ b/library/traits/model/Auto.php @@ -196,7 +196,7 @@ trait Auto case 'function': // 使用函数进行填充 字段的值作为参数 case 'callback': // 使用回调方法 $args = isset($auto[4]) ? (array)$auto[4] : []; - if (is_string($auto[0])) { + if (is_string($auto[0]) && strpos($auto[0], ',')) { $auto[0] = explode(',', $auto[0]); } if (is_array($auto[0])) { @@ -205,6 +205,8 @@ trait Auto $_data[$field] = isset($data[$field]) ? $data[$field] : null; } array_unshift($args, $_data); + } else { + array_unshift($args, isset($data[$auto[0]]) ? $data[$auto[0]] : null); } if ('function' == $auto[3]) { $data[$auto[0]] = call_user_func_array($auto[1], $args); @@ -357,7 +359,7 @@ trait Auto case 'function': // 使用函数进行验证 case 'callback': // 调用方法进行验证 $args = isset($val[6]) ? (array)$val[6] : []; - if (is_string($val[0])) { + if (is_string($val[0]) && strpos($val[0], ',')) { $val[0] = explode(',', $val[0]); } if (is_array($val[0])) { @@ -366,6 +368,8 @@ trait Auto $_data[$field] = isset($data[$field]) ? $data[$field] : null; } array_unshift($args, $_data); + } else { + array_unshift($args, isset($data[$val[0]]) ? $data[$val[0]] : null); } return call_user_func_array('function' == $val[4] ? $val[1] : [& $this, $val[1]], $args); case 'confirm': // 验证两个字段是否相同