Jeg laver en lille research efter at jeg har læst jchamberlains kommentar om where
caluse under hans svar, og jeg kom til den konklusion, at
- du skal altid bruge
UpperCamelCase
stil, når du skriver kolonnenavne i fremdriftsfunktioner, selvom det nogle gange fungerer fint, hvis du ikke bruger denne stil - løsning afhænger af Propel-version
Sandsynligvis er der ingen løsning til Propel <=1.6.7 (eller måske er rå SQL-forespørgsel den eneste løsning), for uanset hvor meget jeg prøver ender jeg altid med Cannot fetch ColumnMap for undefined column: ID_TABLE_B
Fremdriv undtagelse.
For Propel>=1.6.8 vil dette virke:
Hvis du har brug for array med aliasede kolonner 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();
Hvis du har brug for objekter med virtuelle kolonner fra aliasede kolonner
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();