Warum dieses Schema eine Beziehung n: m erzeugt
Ich habe diese schema.yml-Datei (nur relevanter Teil):
SdrivingMaquina:
actAs:
Timestampable: ~
columns:
idmaquina: { type: integer(8), autoincrement: true, notnull: true, primary: true }
idempresa: { type: integer(4), notnull: true }
patente: { type: string(12), notnull: true }
relations:
Empresa: { local: idempresa, class: SdrivingEmpresa, type: one, foreignType: one, foreignAlias: MaquinaEmpresa, onDelete: CASCADE, onUpdate: CASCADE }
SdrivingMaquinaEmisor:
actAs:
Timestampable: ~
columns:
idmaquinaemisor: { type: integer(8), primary: true, autoincrement: true }
idmaquina: { type: integer(8), notnull: true }
idemisor: { type: integer(8), notnull: true }
relations:
SdrivingEmisor: { onDelete: CASCADE, local: idemisor, foreign: idemisor, type: one }
SdrivingMaquina: { onDelete: CASCADE, local: idmaquina, foreign: idmaquina, type: one }
Dann, nachdem ich die Aufgabe ausgeführt habesymfony doctrine:build-model
Ich überprüfe die KlasseBaseSdrivingMaquina.class.php
und ich kann diesen Code sehen:
public function setUp()
{
parent::setUp();
$this->hasOne('SdrivingEmpresa as Empresa', array(
'local' => 'idempresa',
'foreign' => 'id',
'onDelete' => 'CASCADE',
'onUpdate' => 'CASCADE'));
$this->hasOne('SdrivingEmpresa', array(
'local' => 'idempresa',
'foreign' => 'idempresa'));
$this->hasMany('SdrivingMaquinaEmisor', array(
'local' => 'idmaquina',
'foreign' => 'idmaquina'));
$timestampable0 = new Doctrine_Template_Timestampable();
$this->actAs($timestampable0);
}
Wenn ich versuche, einen Datensatz einzufügen, wird folgende Fehlermeldung angezeigt:
Doctrine_Core :: set () konnte nicht aufgerufen werden. Das zweite Argument sollte eine Instanz von Doctrine_Collection sein, wenn Sie eine zu viele Referenzen festlegen.
Was mich denken lässt, dass der Fehler die Beziehung ist. Dieser Beitrag ist damit verbundenein Kann mir jemand sagen, was los ist oder wo mein Fehler ist?