Je fais une petite recherche après avoir lu le commentaire de jchamberlain sur where
caluse sous sa réponse et j'en suis venu à la conclusion que
- vous devez toujours utiliser
UpperCamelCase
style lorsque vous tapez des noms de colonnes dans les fonctions propel, même si cela fonctionne parfois bien si vous n'utilisez pas ce style - la solution dépend de la version de Propel
Il n'y a probablement pas de solution pour Propel <=1.6.7 (ou peut-être que la requête SQL brute est la seule solution), car peu importe combien j'essaie, je me retrouve toujours avec Cannot fetch ColumnMap for undefined column: ID_TABLE_B
Propulser l'exception.
Pour Propel>= 1.6.8, cela fonctionnera :
Si vous avez besoin d'un tableau avec des colonnes aliasées comme résultat
TableAQuery::create()
->useTableBQuery('a')
// some filters methods
->endUse()
->useTableBQuery('b')
// some filters methods
->endUse()
->select(array('a.Value1', 'b.Value2')) // notice a.value_1 or b.value_2 won't work
->find();
Si vous avez besoin d'objets avec des colonnes virtuelles à partir de colonnes aliasées
TableAQuery::create()
->useTableBQuery('a')
// some filters methods
->endUse()
->useTableBQuery('b')
// some filters methods
->endUse()
->withColumn('a.Value1') // notice a.value_1 won't work
->withColumn('b.Value2') // notice b.value_2 won't work
->find();