0
modèles suivants:DQL Mise à jour des relations
class User extends Doctrine_Record {
public function setTableDefinition() {
$this->hasColumn ('iron', 'integer', 4);
}
public function setUp() {
$this->hasMany ('Field as Fields', array(
'local' => 'id',
'foreign' => 'owner_id'
));
}
}
class Field extends Doctrine_Record {
public function setTableDefinition() {
$this->hasColumn('owner_id','integer',4);
$this->hasColumn('ressource_id','integer',4);
$this->hasColumn('ressource_amount','integer','2');
}
public function setUp() {
$this->hasOne('User as Owner',array(
'local' => 'owner_id',
'foreign' => 'id'
));
}
}
Et j'essayer de suivre DQL:
$sqlRessourceUpdate = Doctrine_Query::create()
->update('Field f')
->set('f.Owner.iron','f.Owner.iron + f.ressource_amount')
->where('f.ressource_id = ?',1);
Résultat:
'Doctrine_Query_Exception' with message 'Unknown component alias f.Owner'
Basicly Je veux juste mettre à jour l'attribut "fer" du propriétaire du terrain selon la valeur des champs
merci. Je fais quelque chose de similaire maintenant. Il est à noter que la méthode save() est très lente et déclenche BEAUCOUP de requêtes, selon vos modèles. Dans mon cas ci-dessus, il en résulte environ 100 requêtes par utilisateur. Si vous voulez des performances, enregistrez manuellement. merci pour la "s" correction btw. Toujours se tromper;) – SkaveRat