From 3d181dc52bb1f1d1845cc2150ecd881a939222b0 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Fri, 15 Sep 2017 18:01:53 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Model.php | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/library/think/Model.php b/library/think/Model.php index 62f43f90..bff9855c 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -833,17 +833,19 @@ abstract class Model implements \JsonSerializable, \ArrayAccess if (method_exists($modelRelation, 'getBindAttr')) { $bindAttr = $modelRelation->getBindAttr(); - foreach ($bindAttr as $key => $attr) { - $key = is_numeric($key) ? $attr : $key; - if (isset($this->data[$key])) { - throw new Exception('bind attr has exists:' . $key); - } else { - $item[$key] = $value ? $value->$attr : null; + if ($bindAttr) { + foreach ($bindAttr as $key => $attr) { + $key = is_numeric($key) ? $attr : $key; + if (isset($this->data[$key])) { + throw new Exception('bind attr has exists:' . $key); + } else { + $item[$key] = $value ? $value->$attr : null; + } } + break; } - } else { - $item[$name] = $value; } + $item[$name] = $value; } else { $item[$name] = $this->getAttr($name); }