Jag gör en liten research efter att jag läst jchamberlains kommentar om where
caluse under hans svar och jag kom fram till att
- du bör alltid använda
UpperCamelCase
stil när du skriver kolumnnamn i framdrivningsfunktioner, även om det ibland fungerar bra om du inte använder den här stilen - Lösningen beror på Propel-versionen
Förmodligen finns det ingen lösning för Propel <=1.6.7 (eller kanske är rå SQL-fråga den enda lösningen), för hur mycket jag än försöker hamnar jag alltid på Cannot fetch ColumnMap for undefined column: ID_TABLE_B
Propel undantag.
För Propel>=1.6.8 kommer detta att fungera:
Om du behöver array med aliasade kolumner som resultat
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();
Om du behöver föremål med virtuella kolumner från aliasade kolumner
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();