2010-09-30 22 views
2

quelle est la méthode pour créer OU?Propel: quel est l'équivalent de OR dans SQL?

Je veux dire: Je sais craate cette clause SQL:

SELECT * FROM author WHERE author.FIRST_NAME = 'Karl' AND author.LAST_NAME <> 'Marx'; 

je devrais faire ceci:

<?php 
$c = new Criteria(); 
$c->add(AuthorPeer::FIRST_NAME, "Karl"); 
$c->add(AuthorPeer::LAST_NAME, "Marx", Criteria::NOT_EQUAL); 
$authors = AuthorPeer::doSelect($c); 

Mais si je veux créer:

SELECT * FROM author WHERE author.FIRST_NAME = 'Karl' OR author.LAST_NAME <> 'Marx'; 

ce qui devrait je fais?

Cordialement

Javi

Répondre

3
$c = new Criteria(); 
$cton1 = $c->getNewCriterion(AuthorPeer::FIRST_NAME, "Karl"); 
$cton2 = $c->getNewCriterion(AuthorPeer::LAST_NAME, "Marx", Criteria::NOT_EQUAL); 
$cton1->addOr($cton2); 
$c->add($cton1); 
+0

Plus d'informations peuvent être trouvées dans la [Propel documentation sur les critères] (http://www.propelorm.org/wiki/Documentation/1.4/Criteria#LogicallyComplexCriteria), ou [Requêtes pour Propel 1.5 et supérieur] (http://www.propelorm.org/wiki/Documentation/1.5/BasicCRUD). –