Browse Source

Refactored hasMany and hasOne so that they support cross-DBMS relationship.

tags/2.0.0-beta
Qiang Xue 11 years ago
parent
commit
a07facf434
  1. 8
      framework/yii/db/ActiveRecord.php
  2. 2
      framework/yii/redis/ActiveRecord.php

8
framework/yii/db/ActiveRecord.php

@ -475,7 +475,8 @@ class ActiveRecord extends Model
*/
public function hasOne($class, $link)
{
return $this->createActiveRelation([
/** @var ActiveRecord $class */
return $class::createActiveRelation([
'modelClass' => $class,
'primaryModel' => $this,
'link' => $link,
@ -513,7 +514,8 @@ class ActiveRecord extends Model
*/
public function hasMany($class, $link)
{
return $this->createActiveRelation([
/** @var ActiveRecord $class */
return $class::createActiveRelation([
'modelClass' => $class,
'primaryModel' => $this,
'link' => $link,
@ -528,7 +530,7 @@ class ActiveRecord extends Model
* @param array $config the configuration passed to the ActiveRelation class.
* @return ActiveRelation the newly created [[ActiveRelation]] instance.
*/
protected function createActiveRelation($config = [])
public static function createActiveRelation($config = [])
{
return new ActiveRelation($config);
}

2
framework/yii/redis/ActiveRecord.php

@ -58,7 +58,7 @@ class ActiveRecord extends \yii\db\ActiveRecord
/**
* @inheritDoc
*/
protected function createActiveRelation($config = [])
public static function createActiveRelation($config = [])
{
return new ActiveRelation($config);
}

Loading…
Cancel
Save