Dělám malý průzkum poté, co jsem si přečetl jchamberlainův komentář o where
caluse pod jeho odpovědí a došel jsem k závěru, že
- vždy byste měli používat
UpperCamelCase
styl při zadávání názvů sloupců ve funkcích propel, i když to někdy funguje dobře, pokud tento styl nepoužíváte - řešení závisí na verzi Propel
Pravděpodobně neexistuje žádné řešení pro Propel <=1.6.7 (nebo možná jediným řešením je nezpracovaný SQL dotaz), protože bez ohledu na to, jak moc se snažím, vždy skončím s Cannot fetch ColumnMap for undefined column: ID_TABLE_B
Výjimka pohonu.
Pro Propel>=1.6.8 to bude fungovat:
Pokud potřebujete pole výsledkem jsou aliasované sloupce
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();
Pokud potřebujete objekty s virtuálními sloupci ze sloupců s aliasem
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();