0
I ont des modèles suivants:multiples références dans Fixtures Doctrine
class User extends Doctrine_Record {
public function setTableDefinition() {
$this->hasColumn ('username', 'string', 20);
$this->hasColumn ('password', 'string', 40);
$this->hasColumn ('salt', 'string', 40);
$this->hasColumn ('email', 'string', 80);
}
public function setUp() {
$this->setTableName ('users');
$this->hasMany ('Message as SentMessages', array(
'local' => 'id',
'foreign' => 'sender_id'
));
$this->hasMany ('Message as ReceivedMessages', array(
'local' => 'id',
'foreign' => 'recipient_id'
));
}
}
class Message extends Doctrine_Record {
public function setTableDefinition() {
$this->hasColumn ('sender_id', 'integer', 4,
array( 'notnull'=> true,
'unsigned'=>true
));
$this->hasColumn ('recipient_id', 'integer', 4,
array( 'notnull'=> true,
'unsigned'=>true
));
$this->hasColumn ('title', 'string', 20);
$this->hasColumn ('content', 'string',1000);
}
public function setUp() {
$this->setTableName ('messages');
$this->hasOne ('User', array(
'local' => 'sender_id',
'foreign' => 'id'
));
$this->hasOne ('User as Recipient', array(
'local' => 'recipient_id',
'foreign' => 'id'
));
}
}
Et je besoin Fixtures à l'environnement de mon auto-test de charge
User:
FooUser:
username: FooUser
password: foobar
email: [email protected]
TestUser:
username: Testuser
password: foobar
email: [email protected]
Message:
Message1:
User: FooUser
User: TestUser
title: Testmessage 1
content: This is message 1
Message2:
User: TestUser
User: FooUser
title: Testmessage 2
content: This is message 2
Cela ne fonctionne pas, parce que je ne peux pas avoir 2 relations à la même table dans les appareils. Y a-t-il un correctif pour cela?
merci, fonctionne très bien! – SkaveRat