From 644adf60becab9b2bf522d6f85b722c0524ec2f0 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Wed, 6 Apr 2016 11:17:48 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9BModel=E7=B1=BB=E7=9A=84=20?= =?UTF-8?q?=E5=85=B3=E8=81=94=E5=A4=96=E9=94=AE=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/Model.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/library/think/Model.php b/library/think/Model.php index b757d6ff..4f84e87b 100644 --- a/library/think/Model.php +++ b/library/think/Model.php @@ -12,6 +12,7 @@ namespace think; use think\Cache; +use think\Loader; abstract class Model implements \JsonSerializable, \ArrayAccess { @@ -350,7 +351,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess 'msg' => $msg, ]; } else { - $this->validate = true === $rule ? strtolower($this->name) : $rule; + $this->validate = true === $rule ? $this->name : $rule; } return $this; } @@ -574,7 +575,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess if (false === strpos($model, '\\')) { $path = explode('\\', get_called_class()); array_pop($path); - array_push($path, $model); + array_push($path, Loader::parseName($model, 1)); $model = implode('\\', $path); } return $model; @@ -585,7 +586,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess { $model = $this->parseModel($model); $localKey = $localKey ?: $this->pk; - $foreignKey = $foreignKey ?: strtolower($this->name) . '_id'; + $foreignKey = $foreignKey ?: Loader::parseName($this->name) . '_id'; $this->relation = self::HAS_ONE; return $model::where($foreignKey, $this->data[$localKey]); } @@ -595,7 +596,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess { $model = $this->parseModel($model); $foreignKey = $foreignKey ?: $this->pk; - $localKey = $localKey ?: strtolower(basename(str_replace('\\', '/', $model))) . '_id'; + $localKey = $localKey ?: Loader::parseName(basename(str_replace('\\', '/', $model))) . '_id'; $this->relation = self::BELONGS_TO; return $model::where($foreignKey, $this->data[$localKey]); } @@ -605,7 +606,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess { $model = $this->parseModel($model); $localKey = $localKey ?: $this->pk; - $foreignKey = $foreignKey ?: strtolower($this->name) . '_id'; + $foreignKey = $foreignKey ?: Loader::parseName($this->name) . '_id'; $this->relation = self::HAS_MANY; return $model::where($foreignKey, $this->data[$localKey]); } @@ -615,7 +616,7 @@ abstract class Model implements \JsonSerializable, \ArrayAccess { $model = $this->parseModel($model); $foreignKey = $foreignKey ?: $this->pk; - $localKey = $localKey ?: strtolower(basename(str_replace('\\', '/', $model))) . '_id'; + $localKey = $localKey ?: Loader::parseName(basename(str_replace('\\', '/', $model))) . '_id'; $this->relation = self::BELONGS_TO_MANY; return $model::where($foreignKey, $this->data[$localKey]); }