diff --git a/Annotation/Loader.php b/Annotation/Loader.php index 3474ff9e..279f13f2 100644 --- a/Annotation/Loader.php +++ b/Annotation/Loader.php @@ -242,10 +242,9 @@ class Loader extends BaseObject } $_method[] = $attribute->newInstance(); } - - static::$_methods[$replace->getName()][$method->getName()] = $_method; - - $_array['methods'][$method->getName()] = $_method; + if (!empty($_method)) { + static::$_methods[$replace->getName()][$method->getName()] = $_method; + } } return $_array; } @@ -268,10 +267,9 @@ class Loader extends BaseObject } $_property[] = $attribute->newInstance(); } - - static::$_property[$replace->getName()][$method->getName()] = $_property; - - $_array['property'][$method->getName()] = $_property; + if (!empty($_property)) { + static::$_property[$replace->getName()][$method->getName()] = $_property; + } } return $_array; } @@ -348,7 +346,7 @@ class Loader extends BaseObject if ($annotations === null) { continue; } - foreach ($annotations['methods'] as $name => $attribute) { + foreach (static::$_methods[$className] as $name => $attribute) { $this->methods($annotations, $attribute, $annotation, $className, $name); } } diff --git a/Database/Base/BaseActiveRecord.php b/Database/Base/BaseActiveRecord.php index 8b746ad7..acb3c777 100644 --- a/Database/Base/BaseActiveRecord.php +++ b/Database/Base/BaseActiveRecord.php @@ -147,6 +147,9 @@ abstract class BaseActiveRecord extends Component implements IOrm, ArrayAccess public function init() { $this->container = Snowflake::app(); + + $an = Snowflake::app()->getAnnotation(); + $an->injectProperty($this); }