From 1ef37d253d2bcc892bebc3eeaa2955d018998b32 Mon Sep 17 00:00:00 2001 From: oldrind <1401019000@qq.com> Date: Wed, 30 Mar 2016 10:11:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3model=E7=B1=BBjoin=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E4=B8=8D=E8=83=BD=E8=AF=BB=E5=8F=96=E6=8C=87=E5=AE=9A?= =?UTF-8?q?=E8=A1=A8=E5=89=8D=E7=BC=80=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Model.php | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/library/think/Model.php b/library/think/Model.php index 16a0d302..4d7bb3e2 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -1477,17 +1477,15 @@ class Model $prefix = $this->tablePrefix; // 传入的表名为数组 if (is_array($join)) { - if (0 !== key($join)) { - // 键名为表名,键值作为表的别名 - $table = key($join) . ' ' . current($join); + if (0 !== $key = key($join)) { + // 设置了键名则键名为表名,键值作为表的别名 + $table = $key . ' ' . array_shift($join); } else { - $table = current($join); + $table = array_shift($join); } - if (isset($join[1])) { - // 第二个元素为字符串则把第二元素作为表前缀 - if (is_string($join[1])) { - $table = $join[1] . $table; - } + if (count($join)) { + // 有设置第二个元素则把第二元素作为表前缀 + $table = (string) current($join) . $table; } else { // 加上默认的表前缀 $table = $prefix . $table;