Hello,

quelqu'un peut-il m'expliquer la différence entre ces deux "techniques" pour
récupérer toutes les opérations actives d'un utilisateur :

//user.class.php

public function getActiveOperations(){
  $q = Doctrine_Query::create()
      ->from('Operation o')
      ->where('o.user_id = ?', $this->getId())
      ->andWhere('o.expires_at > ?', date('Y-m-d H:i:s', time()))
       ->OrderBy('o.expires_at DESC');

  return $q->execute();
}

et

//user.class.php

public function getActiveOperations(){
   $q = Doctrine_Query::create()
      ->from('Operation o')
      ->where('o.user_id = ?', $this->getId());

  return Doctrine_Core::getTable('Operation')->getActiveOperation($q);
}

//operationTable.class.php

public function getActiveOperations(Doctrine_Query $q = null){
  if (is_null($q)){
    $q = Doctrine_Query::create()
      ->from('Operation o');
  }

  $q->andWhere('o.expires_at > ?', date('Y-m-d H:i:s', time()))
    ->addOrderBy('o.expires_at DESC');

  return $q->execute();
}

Outre le fait que cela permet de factoriser si l'on a besoin d'une méthode
qui récupère toutes les opérations actives peu importe l'utilisateur. En
fait ma question est plutôt : est-ce que la technique en rouge est fausse
d'un point de vu logique ?

-- 
Vous recevez ce message, car vous êtes abonné au groupe Google 
Groupes Symfony-fr.
Pour envoyer un message à ce groupe, adressez un e-mail 
à symfony-fr@googlegroups.com.
Pour vous désabonner de ce groupe, envoyez un e-mail à l'adresse 
symfony-fr+unsubscr...@googlegroups.com.
Pour plus d'options, consultez la page de ce groupe : 
http://groups.google.com/group/symfony-fr?hl=fr

Répondre à