2016-03-31 1 views
0

Quelle est la différence entre JoinWith et useTablenameQuery? Comment fonctionne son travail dans propel, pourquoi JoinWith est plus rapide que useTable_nameQuery? Comment fonctionne le formateur? Merci pour l'aide:propel - JoinWith et utiliser la requête

)

Répondre

0

La principale différence est quand vous avez filtre spécifiquement pour la droite comme TableB=?

joinWith: défaut condition join tel que défini dans le schéma

$rows = TableAQuery::create() 
    ->joinWith('TableB') 
    ->find(); 

useTableBQuery Utilisez un filtre pour la table droite

$rows = TableAQuery::create() 
    ->useTableBQuery() 
     ->filterByColumnName($value) // A column in TableB 
    ->endUse() 
    ->filterByColumnName($value2) // A column in TableA 
    ->find(); 

Notez que le deuxième ->filterByColumnA() est en dehors du ->useTablBQuery, pour montrer que vous pouvez avoir filtre sur les deux tables