Browse Source

Merge pull request #696 from creocoder/ar-getnamespacedclass-static

Make ActiveRecord::getNamespacedClass() static
tags/2.0.0-beta
Alexander Makarov 11 years ago
parent
commit
445854171b
  1. 8
      framework/yii/db/ActiveRecord.php

8
framework/yii/db/ActiveRecord.php

@ -440,7 +440,7 @@ class ActiveRecord extends Model
public function hasOne($class, $link) public function hasOne($class, $link)
{ {
return new ActiveRelation(array( return new ActiveRelation(array(
'modelClass' => $this->getNamespacedClass($class), 'modelClass' => static::getNamespacedClass($class),
'primaryModel' => $this, 'primaryModel' => $this,
'link' => $link, 'link' => $link,
'multiple' => false, 'multiple' => false,
@ -478,7 +478,7 @@ class ActiveRecord extends Model
public function hasMany($class, $link) public function hasMany($class, $link)
{ {
return new ActiveRelation(array( return new ActiveRelation(array(
'modelClass' => $this->getNamespacedClass($class), 'modelClass' => static::getNamespacedClass($class),
'primaryModel' => $this, 'primaryModel' => $this,
'link' => $link, 'link' => $link,
'multiple' => true, 'multiple' => true,
@ -1400,10 +1400,10 @@ class ActiveRecord extends Model
* @param string $class the class name to be namespaced * @param string $class the class name to be namespaced
* @return string the namespaced class name * @return string the namespaced class name
*/ */
protected function getNamespacedClass($class) protected static function getNamespacedClass($class)
{ {
if (strpos($class, '\\') === false) { if (strpos($class, '\\') === false) {
$reflector = new \ReflectionClass($this); $reflector = new \ReflectionClass(static::className());
return $reflector->getNamespaceName() . '\\' . $class; return $reflector->getNamespaceName() . '\\' . $class;
} else { } else {
return $class; return $class;

Loading…
Cancel
Save