Relaciones HAS_ONE no funcionan

Hola,

Tengo una base de datos de alrrededor de 100 tablas y después de generar con gii los model no me ha creado ninguna relacion HAS_ONE.

Verificando el código de como hace la identificación del HAS_ONE me parece que es imposible que se identifique ninguna has_one ya que el nombre del campo de la tabla se tiene que llamar igual que la PK de la tabla.

Aquí está el código, para cada una de las FKs de una tabla, se compara con la PL de la tabla




foreach ($table->foreignKeys as $fkName => $fkEntry)

{

	// Put table and key name in variables for easier reading

	$refTable=$fkEntry[0]; // Table name that current fk references to

	$refKey=$fkEntry[1];   // Key in that table being referenced

	$refClassName=$this->generateClassName($refTable);


	// Add relation for this table

	$relationName=$this->generateRelationName($tableName, $fkName, false);

	$relations[$className][$relationName]="array(self::BELONGS_TO, '$refClassName', '$fkName')";


	// Add relation for the referenced table

	$relationType=$table->primaryKey === $fkName ? 'HAS_ONE' : 'HAS_MANY';

	$relationName=$this->generateRelationName($refTable, $this->removePrefix($tableName,false), $relationType==='HAS_MANY');

	$relations[$refClassName][$relationName]="array(self::$relationType, '$className', '$fkName')";

}






¿Alguien se ha pegado con esto?