Browse Source

Merge pull request #1068 from nukkumatti/master

Fixes issue #1063: Fatal Error while getting value from ActiveRelation g...
tags/2.0.0-beta
Qiang Xue 11 years ago
parent
commit
f63720c601
  1. 8
      framework/yii/gii/generators/model/Generator.php

8
framework/yii/gii/generators/model/Generator.php

@ -265,7 +265,7 @@ class Generator extends \yii\gii\Generator
$link = $this->generateRelationLink(array_flip($refs)); $link = $this->generateRelationLink(array_flip($refs));
$relationName = $this->generateRelationName($relations, $className, $table, $fks[0], false); $relationName = $this->generateRelationName($relations, $className, $table, $fks[0], false);
$relations[$className][$relationName] = [ $relations[$className][$relationName] = [
"return \$this->hasOne('$refClassName', $link);", "return \$this->hasOne($refClassName::className(), $link);",
$refClassName, $refClassName,
false, false,
]; ];
@ -281,7 +281,7 @@ class Generator extends \yii\gii\Generator
$link = $this->generateRelationLink($refs); $link = $this->generateRelationLink($refs);
$relationName = $this->generateRelationName($relations, $refClassName, $refTable, $className, $hasMany); $relationName = $this->generateRelationName($relations, $refClassName, $refTable, $className, $hasMany);
$relations[$refClassName][$relationName] = [ $relations[$refClassName][$relationName] = [
"return \$this->" . ($hasMany ? 'hasMany' : 'hasOne') . "('$className', $link);", "return \$this->" . ($hasMany ? 'hasMany' : 'hasOne') . "($refClassName::className(), $link);",
$className, $className,
$hasMany, $hasMany,
]; ];
@ -299,7 +299,7 @@ class Generator extends \yii\gii\Generator
$viaLink = $this->generateRelationLink([$table->primaryKey[0] => $fks[$table->primaryKey[0]][1]]); $viaLink = $this->generateRelationLink([$table->primaryKey[0] => $fks[$table->primaryKey[0]][1]]);
$relationName = $this->generateRelationName($relations, $className0, $db->getTableSchema($table0), $table->primaryKey[1], true); $relationName = $this->generateRelationName($relations, $className0, $db->getTableSchema($table0), $table->primaryKey[1], true);
$relations[$className0][$relationName] = [ $relations[$className0][$relationName] = [
"return \$this->hasMany('$className1', $link)->viaTable('{$table->name}', $viaLink);", "return \$this->hasMany($className1::className(), $link)->viaTable('{$table->name}', $viaLink);",
$className0, $className0,
true, true,
]; ];
@ -308,7 +308,7 @@ class Generator extends \yii\gii\Generator
$viaLink = $this->generateRelationLink([$table->primaryKey[1] => $fks[$table->primaryKey[1]][1]]); $viaLink = $this->generateRelationLink([$table->primaryKey[1] => $fks[$table->primaryKey[1]][1]]);
$relationName = $this->generateRelationName($relations, $className1, $db->getTableSchema($table1), $table->primaryKey[0], true); $relationName = $this->generateRelationName($relations, $className1, $db->getTableSchema($table1), $table->primaryKey[0], true);
$relations[$className1][$relationName] = [ $relations[$className1][$relationName] = [
"return \$this->hasMany('$className0', $link)->viaTable('{$table->name}', $viaLink);", "return \$this->hasMany($className0::className(), $link)->viaTable('{$table->name}', $viaLink);",
$className1, $className1,
true, true,
]; ];

Loading…
Cancel
Save